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&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> <span class="podtytul">Login: </span><br /></td>';
echo '<td><span class="podtytul"> Password: </span><br /></td></tr>';
echo '<tr><td><input class="formtxt" type="text" name="login" size="25" value="'.$_POST['login'].'" /><br /> </td>';
echo '<td><input class="formtxt" type="password" name="password" size="25" value="'.$_POST['password'].'" /><br /> </td></tr>';
echo '</table>';
echo '</td></tr>';
echo '<tr><td><br /><span class="podtytul"> E-mail: </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> </td><td><input type="image" class="img_link" src="img/send.png" /></td></tr>
</table>
</form>
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> </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