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"); <input type="text" id="token" name="token"> </fieldset> <p><input type="submit" id="sudmit" name="send_reg" value="Rejestruj"></p> </form> <?} function createToken() { '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($_POST['token'] == $_SESSION['token']) { $_SESSION["kom_r"] = "Token poprawny"; } else { FormRejestracja($token, "Token niepoprawny"); } }else { FormRejestracja($token); } ?>
token_pic.php
<?php $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