Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] dopasowanie CAPTCHA do kodu
Forum PHP.pl > Forum > Przedszkole
adamos00
Witam
Ostatnio ktos zalewa mnie pustymi mailami z mojej strony (z kontakt z nami i z rejestracji)
znalazlem to oto rozwiazanie :
http://www.phpcaptcha.org/documentation/quickstart/
wrzucilem na serwer i proboje dopasowac do mojego kodu (tzn nie mojego czyjegos i nie wiem czy to do konca dobrze robi)
strona logowania :
CODE

<?
ini_set('display_errors', 1);
error_reporting(E_ALL);
global $login_user, $_title,$cfg;
$_title='Registration...';

if (isset($_POST['login']))
{
$kom='';
if ($_POST['email']!='' && !ereg("^.*@.*\..*",$_POST['email'])) $kom='Incorrect e-mail.';
if ($cfg['aktywacja'] && $_POST['email']=='') $kom='You didn\'t put email address.';
if (strlen($_POST['password'])<4 || strlen($_POST['password'])>20) $kom="Password has to be 4-20 characters.";
if (strlen($_POST['login'])<4 || strlen($_POST['login'])>20) $kom="Login has to be 4-20 characters.";


if ($kom=='')
{
$query='SELECT count(*) FROM users WHERE login="'.$_POST['login'].'"';
$result = mysql_query ($query);
$row = mysql_fetch_array($result);
if ($row['count(*)']>0) $kom='Such login already exists.';
}

if ($kom=='')
{
if (!$cfg['aktywacja']) $status=3; else $status=5;
$query="INSERT INTO users (login,pass,status,data_rej,email)VALUES('$_POST[login]','$_POST[password]',$status,".time().",'$_POST[email]')";
$result = sql_query ($query) or die(mysql_error());
echo info('Your account has been registered.');
if (!$cfg['aktywacja'])
{
$query="SELECT * FROM users WHERE login='$_POST[login]' AND pass='$_POST[password]'";
$result = sql_query ($query);
if (isset($login_user['koszyk'])) $w=$login_user['koszyk'];
$login_user=mysql_fetch_array($result);
if (isset($w)) $login_user['koszyk']=$w;
$_SESSION["login_user"]=$login_user;
echo '<script>setTimeout("location.href=\'index.php?mod=users&amp;pg=home\'",5000)</script>';
} else
{
$r=sql_row("SELECT * FROM users WHERE login='$_POST[login]' AND pass='$_POST[password]'");
wyslij_wiadomosc_lang('email_rejestracja.tpl',$r);
echo '<p>
Activation message has been sent to your email address.
Please finish activation process by clicking activation link so
your account will be fully activated.
</p>';
}

return;
} else echo blad($kom);

} else
{
$_POST['czyfirma']=0;
$_POST['login']='';
$_POST['password']='';
$_POST['nazwisko']='';
$_POST['firma']='';
$_POST['nip']='';
$_POST['adres']='';
$_POST['miasto']='';
$_POST['kod']='';
$_POST['telefon']='';
$_POST['email']='';
}

if (isset($_GET['id']) && isset($_GET['code']))
{
$result=sql_query('UPDATE users SET status=3 WHERE status=5 AND id='.((int)$_GET['id']).' AND data_rej='.((int)$_GET['code']));
$ilosc=mysql_affected_rows();
if ($ilosc>0)
{
echo info('Your account is fully operational now.<br/>You can log in and use our site freely at any time.');
} else
{
echo blad('Incorrect activation info/code.');
}
return;
}


echo '<p></p>';

echo '<div>';
echo '<form action="index.php" method="POST" name="foo">';
echo '<input type="hidden" name="mod" value="register" />';

echo '<table cellspacing="0" cellpadding="0" width="420" align="center" border="0">';

echo '<tr><td>';
echo '<table border="0" width="400" cellspacing="0" cellpadding="0">';
echo '<tr><td>&nbsp;<span class="podtytul">Login:&nbsp;</span><br /></td>';
echo '<td><span class="podtytul">&nbsp;Password:&nbsp;</span><br /></td></tr>';
echo '<tr><td><input class="formtxt" type="text" name="login" size="25" value="'.$_POST['login'].'" /><br />&nbsp;</td>';
echo '<td><input class="formtxt" type="password" name="password" size="25" value="'.$_POST['password'].'" /><br />&nbsp;</td></tr>';
echo '</table>';
echo '</td></tr>';
echo '<tr><td><br /><span class="podtytul">&nbsp;E-mail:&nbsp;</span></td></tr>';
echo '<tr><td><input class="formtxt" type="text" name="email" size="65" value="'.$_POST['email'].'" /></td></tr>';

echo '</td></tr>';
echo '<tr><td><p>Registering means your acceptance of our <a href="index.php?show=security">Terms & Conditions</a>.</p></td></tr>';
echo '<tr><td><br /><input type="image" class="img_link" src="img/register.png" /></td></tr>';
echo '</table>';
echo '</form>';

echo '</div>';

?>


strona kontakt z nami :
CODE
<?
global $_title,$cfg;
$_title='Contact';

if (file_exists('info.html'))
{
include('info.html');
return;
}

if (isset($_POST['tresc']))
{
$t='Wiadomosc ze strony od: '.$_POST['email'].":\r\n\r\n".$_POST['tresc'];
mail('unclespare@yahoo.com',$_POST['tytul'],$t);
echo info('Your message has been sent.');
return;
}
?>


<form action="index.php" method="post">
<input type="hidden" name="show" value="contact" />
<table>
<tr><td>Subject</td><td><input type="text" name="tytul" class="formtxt" /></td></tr>
<tr><td>E-mail</td><td><input type="text" name="email" class="formtxt" /></td></tr>
<tr><td valign="top">Message</td><td valign="top"><textarea class="formtxt" name="tresc" rows="10" cols="40"></textarea></td></tr>
<tr><td>&nbsp;</td><td><input type="image" class="img_link" src="img/send.png" /></td></tr>
</table>
</form>


moze mi ktos zmodyfikowac kod tak zeby boty nie mogly mi po stronie szalec
PS laikiem jestem ucze sie wiec prosze o wyrozumialosc
Otto
Nie wystarczy po prostu dać pytania typu ile masz palców? Problem pojawi się tylko wtedy gdy ktoś będzie miał mniej bądź więcej chociaż w to wątpię biggrin.gif
adamos00
Cytat(Otto @ 3.10.2010, 12:05:50 ) *
Nie wystarczy po prostu dać pytania typu ile masz palców? Problem pojawi się tylko wtedy gdy ktoś będzie miał mniej bądź więcej chociaż w to wątpię biggrin.gif


napisalem na smamy koncu ze nie mam pojecia tzn mam ale niewielkie jesli chodzi o kod
prosze wiec o lopatologiczne wyjasnieneie gdzie w ktorej linijce umiescic jaki kod

przylazi tych maili od groma i mam juz dosc nawet jestem juz w stanie zaplacic za modyfikacje kodu i wyeliminowanie problemu
Otto
  1. <?
  2. global $_title,$cfg;
  3. $_title='Contact';
  4.  
  5. if (file_exists('info.html'))
  6. {
  7. include('info.html');
  8. return;
  9. }
  10.  
  11. if (isset($_POST['tresc'])) {
  12.  
  13. // Sprawdza czy została podana dobra odpowiedź i podejmuje akcje
  14. if ($_POST['pytanie'] != '4') {
  15. echo '<div style="background-color: #cc0000; padding: 5px;">Zła odpowiedź na pytanie!</div>';
  16. } else {
  17. $t='Wiadomosc ze strony od: '.$_POST['email'].":\r\n\r\n".$_POST['tresc'];
  18. mail('unclespare@yahoo.com',$_POST['tytul'],$t);
  19. echo info('Your message has been sent.');
  20. return;
  21. }
  22. }
  23. ?>
  24.  
  25.  
  26. <form action="index.php" method="post">
  27. <input type="hidden" name="show" value="contact" />
  28. <table>
  29. <tr><td>Subject</td><td><input type="text" name="tytul" class="formtxt" /></td></tr>
  30. <tr><td>E-mail</td><td><input type="text" name="email" class="formtxt" /></td></tr>
  31. <!-- Pytanie! -->
  32. <tr><td>Ile to 2 + 2?</td><td><input type="text" name="pytanie" class="formtxt" /></td></tr>
  33. <tr><td valign="top">Message</td><td valign="top"><textarea class="formtxt" name="tresc" rows="10" cols="40"></textarea></td></tr>
  34. <tr><td>&nbsp;</td><td><input type="image" class="img_link" src="img/send.png" /></td></tr>
  35. </table>
  36. </form>


Powinno działać...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.