Witam.
Napisałem sobie skrypt tokena, tylko nie wiem, czy moje rozwiązanie jest bezpieczne oraz jak trudne będzie odczytanie takiego tokena przez bota.
Skrypt składa się z 3 plików:
funkcje.php<?php
function FormRejestracja($tokencode, $komentarz="") {
$_SESSION["token"] = $tokencode;
?>
<form method="POST" name="rejestracja" action="formularz.php">
<fieldset>
<legend>Login</legend>
<input type="text" id="login" name="login">
</fieldset>
<fieldset>
<legend>Hasło</legend>
<input type="password" id="pass" name="pass">
</fieldset>
<fieldset>
<legend>Powtórz hasło</legend>
<input type="password" id="pass" name="pass2">
</fieldset>
<fieldset>
<legend>E-mail</legend>
<input type="text" id="email" name="email">
</fieldset>
<fieldset>
<legend>Token</legend>
<? //include_once("user_token.php");
echo '<img src="token_pic.php">';?> <input type="text" id="token" name="token">
</fieldset>
<input type="hidden" name="los" value="
<? echo $chars; ?>">
<p><input type="submit" id="sudmit" name="send_reg" value="Rejestruj"></p>
</form>
<?}
function createToken() {
$char = array(1,2,3,4,5,6,7,8,9,'q','w','e','r','t','y','u','i', 'o','p','l','k','j','h','g','f','d','s','a','z','x','c','v','b','n','m','Q'
,'W','E','R','T','Y','U','I','O','P','L','K','J','H','G','F','D','S',
'A','Z','X','C','V','B','N','M');
$text = "";
for($i = 0; $i < 7; $i++)
{
}
return $text;
}
formularz.php<?php
include_once(funkcje.php);
$token = createToken();
if(isset($_POST["send_reg"])) {
if($_POST['token'] == $_SESSION['token'])
{
$_SESSION["kom_r"] = "Token poprawny";
}
else
{
FormRejestracja($token, "Token niepoprawny");
}
}else {
FormRejestracja($token); }
?>
token_pic.php<?php
header ('Content-type: image/gif');
$text = $_SESSION["token"];
/* generowanie tokena za pomocą biblioteki GD */
/* jeżeli ktoś chce kod, to proszę pisać, a tutaj nie wklejam,
bo jest dość długi, a i tak nic nie wnosi do kwestii bezpieczeństwa (no chyba, że się mylę) */
imagegif($image);
imagedestroy ($Image);
?>
Prosiłbym o sprawdzenie napisanych skryptów pod katem bezpieczeństwa oraz opinię, czy takie "coś" będzie trudne do złamania dla bota?
Pozdrawiam
Ten post edytował puz219 16.02.2009, 13:50:12