Article View: pl.comp.lang.php
Article #220241reCaptcha - incorrect-captcha-sol mimo podania prawidłowego kodu
From: Cysioland
Date: Wed, 19 Aug 2009 18:14
Date: Wed, 19 Aug 2009 18:14
156 lines
6253 bytes
6253 bytes
Witam,
Mam problem. Otóż używam reCaptchy w skrypcie rejestracji. Jednak skrypt
wypisuje mi,że źle podałem kod mimo tego,iż podaję go dobrze.
Plik rejestracji:
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
session_name('***');
session_start();
include('config.php');
include('functions.php');
require_once('recaptchalib.php');
$publickey = "***";
$privatekey = "***";
# the response from reCAPTCHA
$resp = null;
$login_message = 'Podaj login. Jeśli to możliwe,zachowaj go w tajemnicy.';
$password_message = 'Podaj hasło. Musi mieć co najmniej 6 znaków.';
$email_message = 'Podaj e-mail. Musi być poprawny,ponieważ na niego
przyjdzie wiadomość aktywacyjna.';
$real_message = 'Podaj nazwę wyświetlaną. Zobaczą ją inni użytkownicy.';
$bottom_message = 'Wypełnij formularz. Wszystkie pola są obowiązkowe.';
$captcha_error = 'Przepisz 2 wyrazy z obrazka w pole obok. Oddziel je
spacją.';
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(eregi("^[[:alnum:]._]{4,30}$", stripslashes(trim($_POST['login'])))){
$l = mysql_real_escape_string($_POST['login'], $DB['connect']);
}else{
$login_message = "Login może mieć od 4 do 30 znaków. Dozwolone są
znaki alfanumeryczne.<br />";
$l = FALSE;
}
if(eregi("^[[:alnum:]]{6,30}$", stripslashes(trim($_POST['password'])))){
if($_POST['password'] != $_POST['password2']){
$password_message = "Podane hasła różnią się od siebie.<br />";
$p = FALSE;
}else{
$p = mysql_real_escape_string($_POST['password'], $DB['connect']);
}
}else{
$password_message = "Hasło może zawierać od 6 do 30 znaków. Dozwolone
są znaki alfanumeryczne.<br />";
$p = FALSE;
}
if(eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$",
stripslashes(trim($_POST['email'])))){
$e = mysql_real_escape_string($_POST['email'], $DB['connect']);
}else{
$email_message = "Podaj poprawny adres e-mail.<br />";
$e = FALSE;
}
if(eregi("^[[:alnum:]._]{4,30}$",
stripslashes(trim($_POST['real_name'])))){
$r = mysql_real_escape_string(trim($_POST['real_name']),
$DB['connect']);
}else{
$real_message = "Nazwa wyświetlana może zawierać od 4 do 30 znaków.
Dozwolone są znaki alfanumeryczne.<br />";
$r = FALSE;
}
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if($resp->is_valid){
$captcha_resp = TRUE;
}else{
$captcha_error = $resp->error;
}
if($l && $p && $e && $r && $captcha_resp){
$login_check = mysql_query("SELECT * FROM `users` WHERE
username='$l'");
if(mysql_num_rows($query) == 0){
$activ = rand(1000000, 9999999);
$registration = mysql_query("INSERT INTO `users` VALUES ('', '$l',
'$p', '$r', '$e', UNIX_TIMESTAMP(), '1', '$activ')");
$header .= 'MIME-Version: 1.0'."\r\n";
$header .= 'Content-type: text/html; charset=utf-8'."\r\n";
$header .= 'From: EkstraGry <registration@ekstragry.cba.pl>'."\r\n";
$header .= 'Reply-to: Administracja portalu EkstraGry
<admin@ekstragry.cba.pl>';
$bottom_message = "Zostałeś zarejestrowany na stronie. Musisz aktywować
swoje konto. Wszelkie informacje zostały wysłane na adres e-mail podany
przy rejestracji.";
}else{
$login_message = 'Podany nick jest zajęty.';
}
}else{
$bottom_message = 'Spróbuj ponownie.';
}
}
doctype();
heading('Rejestracja');
static_text();
echo '<div id="content">
<table>
<thead class="laytable">
<tr><td colspan="2">Rejestracja</td></tr>
</thead>';
echo '<tbody class="laytable">
<form action="register" method="post">
<tr><td colspan="2">'.$login_message.'</td></tr>
<tr><td>Login:</td><td><input type="text" name="login" /></td></tr>
<tr><td colspan="2">'.$password_message.'</td></tr>
<tr><td>Hasło:</td><td><input type="password" name="password" /></td></tr>
<tr><td>Powtórz hasło:</td><td><input type="password" name="password2"
/></td></tr>
<tr><td colspan="2">'.$real_message.'</td></tr>
<tr><td>Nazwa wyświetlana:</td><td><input type="text" name="real_name"
/></td></tr>
<tr><td colspan="2">'.$email_message.'</td></tr>
<tr><td>E-mail:</td><td><input type="text" name="email" /></td></tr>
<tr><td colspan="2">'.$captcha_error.'</td></tr>
<tr><td>reCaptcha</td><td>'.recaptcha_get_html($publickey,
$captcha_error).'</td></tr>
<tr><td>Przeczytałem i akceptuję <a
href="rules">regulamin</a>:</td><td><input type="checkbox" id="reg"
onclick="regulamin()" /></td></tr>
<tr><td>'.$bottom_message.'</td><td><input type="submit" id="dalej"
name="submit" value="Zarejestruj" disabled="disabled" /></td></tr>
</form>
</tbody>
</table>
</div>
<div id="top10">
<table>
<thead>
<tr><td colspan="2"><img src="images/top10.png" alt="Top 10 gier"
/></td></tr>
</thead>
<tbody class="laytable">
<tr><td>Gra testowa<br />Dodana przez Cysioland<br />Ocena: 5</td><td><img
src="images/avatars/Cysioland.gif" alt="Screen z gry"/></td></tr>
</tbody>
</table>
</div>
</div>
<div id="footer">
';
footer();
echo ' ';
print_r($_POST);
echo '</div>
<div id="ads">';
ads();
echo '</div>
</body>
</html>';
?>
Pomocy,
Cysioland
--
Używam klienta poczty Opera Mail: http://www.opera.com/mail/
Technical Details
Message-ID:
<op.uyw8y2rfl8zhd2@markomp2007b>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: Cysioland <cysioland@o2.pl> Newsgroups: pl.comp.lang.php Subject: reCaptcha - incorrect-captcha-sol mimo podania prawidłowego kodu Date: Wed, 19 Aug 2009 20:14:52 +0200 Organization: http://onet.pl Lines: 156 Message-ID: <op.uyw8y2rfl8zhd2@markomp2007b> NNTP-Posting-Host: 139.182.54.80.sta.gaja.net.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1250705683 21331 80.54.182.139 (19 Aug 2009 18:14:43 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Wed, 19 Aug 2009 18:14:43 +0000 (UTC) User-Agent: Opera Mail/9.64 (Win32) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit