Autor Zpráva
Cody
Profil
Ahojte,
nechápu kde mám ve zdrojáku chybu, že mi to neodesílá? http://darkfaces.net/kontakt.php ? Pomůžete?
kontakt.php:
<form method="post" action="mail.php" onsubmit="return kontrola(this)">

<span class="male">Vyberte:</span>
<select name="email">
<option selected="selected">Zvolte adresáta</option>
<option value="pres@darkfaces.net">Mirek</option>
<option value="webmaster@darkfaces.net">Webmaster</option>
</select>

&nbsp;<span class="male">Váš E-mail:</span>

<input type="text" name="od" value="Váš E-mail" onfocus="this.value='@'">
<input type="hidden" name="subjekt" value="Mail z internetovych stranek Dark Faces">
<div align="center">
<textarea name="text" rows="5" cols="49"></textarea>
<br><br>
<input class="tlacitko" type="submit" value="Odeslat">
<input class="tlacitko" type="reset" value="Smazat">
</div>

</form>


Mail.php:

<? if ( Mail($email, $subjekt, $text, "From: " . $od) )

echo "Úspěšně odesláno! Váš e-mail na " . $email . " byl v pořádku odeslán. V krátkosti (10 sekund) budete přesměrováni na hlavní stranu.";
else echo "Nepodařilo se e-mail odeslat! Zkuste to prosím znovu nebo kontaktujte <b><i><a href=\"webmaster%40patriot-riders.com\">webmastera</a></i></b>."; ?>
gaminn
Profil *
Problém je nejspíš v předávání proměnných (zřejmě není v konfiguraci PHP zapnuto register_globals), použij ve skriptu Mail() místo $email a dalších proměnné $_POST['email'].
Cody
Profil
Díky, fachá to! Jen to nechápu, že na jiným serveru Pípni to fachalo a tady na tom ne:-( Bože, za co?:-)
gaminn
Profil *
Právě proto, že na tomto serveru není zapnutá direktiva register_globals (automatické zakládání proměnných předaných pomocí get, post, cookie, session....). Určitě to je bezpečnější.
splite
Profil
Tomu když bandita využije register_globals k propašování vlastní proměnné se říká poisoning. Je opravdu dobré naučit se hned od začátku využívat $_POST, $_GET (atd) přímo v manuálu php je poisoning popsán takhle:

<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
$authorized = true;
}

// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
Toto téma je uzamčeno. Odpověď nelze zaslat.