Имам следния проблем,оравя една система за поздрави всичко си е ОК но има следния бъг.След като изпратя поздрава си се записва в БД и ми изкарва съпбщението че съм ограничрн за 10 минм,но вапреки това като дам рефреш да проверя дали крие формата след изпратен поздрав постоянно ми добавя поздрвави в БД. В смисал на фсеки рефреш добавя поздрав и незнам как да го оправя. Моля ако някои мойе да помогне. Еето ви всички файлове:
Index.php
function.php
sqldefence.php
emptytable.php
Index.php
Код:
<?php
include 'function.php';
include 'sqldefence.php';
$ip_address = $_SERVER["REMOTE_ADDR"];
if ($_POST['form_submit']==1) {
$from = addslashes($_POST['from']);
$send = addslashes($_POST['send']);
$song = addslashes($_POST['song']);
$greeting = addslashes($_POST['greeting']);
$ip_client = $_SERVER["REMOTE_ADDR"];
mysql_query("INSERT INTO `pozdravi`(`id`, `from`, `send`, `song`, `greeting`, `ip_client`)
VALUES ('NULL','$from','$send','$song','$greeting', '$ip_client')");
echo "Успешно добавен поздрав!";
}
$row = mysql_query("select * from pozdravi where ip_client = '$ip_address'
AND pz_date > DATE_SUB(NOW(), INTERVAL 10 MINUTE)");
if (@mysql_num_rows($row) > 0)
{
echo '<table width="800" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><table width="650" height="450" border="0" align="center" cellpadding="0" cellspacing="0" class="fon">
<tr>
<td valign="top" class="sad"><form name="form1" method="post" action="index.php"><table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="35" height="191"> </td>
<td colspan="2" valign="bottom"><div align="center"><strong>Поздрави се пишат веднъж на 10 минути (не по-малко).<br>
Поздравите НЕ трябва да съдържат цинизми!<br>
Поздравите трябва да бъдат кратки и ясни!</strong></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td colspan="2"><div align="center" class="style1"><span class="style2">Поздрава е изпратен успешно!</span></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="60"> </td>
<td colspan="2"><div align="center" class="style1">Нов поздрав ще може да изпратите след 10 минути!<br />
</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr> <tr>
<td height="30"> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2"></td>
</tr>
</table>
</form>
</td>
</tr>
</table><br>
<div align="center"><a href="http://www.aleksandrina.net" title="Радио Александрина" target="_blank" style="text-decoration: none"><font color="#999999">Радио Александрина</font></a>
</div>
</td>
</tr>
</table>';
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Радио Александрина - Пусни поздрав</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
</style>
<script type="text/javascript">
var refreshCheck= Number(window.location.search.slice(1));
if (refreshCheck == 1 ) {
window.location.href = window.location.substring(0, window.location.length-2);
}
</script>
</head>
<body>
<table width="800" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><table width="650" height="450" border="0" align="center" cellpadding="0" cellspacing="0" class="fon">
<tr>
<td valign="top" class="sad"><form name="form1" method="post" action="index.php"><table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="35" height="191"> </td>
<td colspan="2" valign="bottom"><div align="center"><strong>Поздрави се пишат веднъж на 10 минути (не по-малко).<br>
Поздравите НЕ трябва да съдържат цинизми!<br>
Поздравите трябва да бъдат кратки и ясни!</strong></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td colspan="2"><div align="center" class="style1">Всички полета са задължителни!</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="120"><div align="right"><strong><span class="style1">*</span> От кого: </strong></div></td>
<td width="295"><label>
<input type="text" name="from" id="ot">
</label></td>
</tr>
<tr>
<td> </td>
<td width="120"><div align="right"><strong><span class="style1">*</span> За кого: </strong></div></td>
<td width="295"><label>
<input type="text" name="send" id="za">
</label></td>
</tr>
<tr>
<td> </td>
<td><div align="right"><strong><span class="style1">*</span> Избрана песен: </strong></div></td>
<td><label>
<input type="text" name="song" class="style1">
</label></td>
</tr>
<tr>
<td> </td>
<td><div align="right"><strong><span class="style1">*</span> Поздрав за: </strong></div></td>
<td><label>
<textarea name="greeting" id="pozdrav"></textarea>
</label></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><label>
<input type="hidden" name="form_submit" value="1" />
<input name="Пусни поздрав" type="submit" id="button" onClick="MM_validateForm('ot','','R','za','','R','pozdrav','','R');return document.MM_returnValue" value="Изпрати поздрава">
</label></td>
</tr>
<tr>
<td height="30"> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2"></td>
</tr>
</table>
</form>
</td>
</tr>
</table><br>
<div align="center"><a href="http://www.aleksandrina.net" title="Радио Александрина" target="_blank" style="text-decoration: none"><font color="#999999">Радио Александрина</font></a>
</div>
<div align="center">
</div>
</td>
</tr>
</table>
</body>
</html>
function.php
Код:
<?php
include 'sqldefence.php';
$user = "root";
$pass = "asddd";
$db = "pz_alex";
$host = "localhost";
$connection = mysql_connect($host, $user, $pass) or die("Сайтът не може да се свърже към базата данни1");
$db = mysql_select_db($db, $connection) or die("Сайтът не може да се свърже към базата данни2");
$chars = "set character set utf8";
mysql_query($chars);
?>
sqldefence.php
Код:
<?php
$queryString = strtolower($_SERVER['QUERY_STRING']);
if (strstr($queryString,"<") OR strstr($queryString,">") OR strstr($queryString,"(") OR strstr($queryString,")") OR
strstr($queryString,"..") OR
strstr($queryString,"%") OR
strstr($queryString,"*") OR
strstr($queryString,"+") OR
strstr($queryString,"!") OR
strstr($queryString,"-1") OR
strstr($queryString,"--") OR
strstr($queryString,"UNION") OR
strstr($queryString,"DROP") OR
strstr($queryString,"@")) {
$loc = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ("d-m-Y @ h:i:s");
$lfh = "./loged.txt";
$log = fopen ( $lfh,"a+" );
fputs ($log, "Attack Date: $date | Attacker IP: $ip | QueryString: $loc?=$queryString\n");
fclose($log);
//htaccess banned
//$htacc = ".htaccess";
//$ban_htaccess = fopen ($htacc, "a+");
//fputs ($ban_htaccess, "deny from $ip\n");
//fclose ($ban_htaccess);
//close
echo "<center>Вашата атака е деактивирана и записана успешно!<br />
<h1>$ip</h1><center>";
$moeto_ip = $_SERVER['REMOTE_ADDR'];
$reason = "Опит за хакване";
$time = time();//timestamp
$izticha = $time+(3*604800);//изчисляваме до кога ще е валиден бан-а
$vid = 1;
mysql_query("INSERT INTO `bans` (ip, reason, slojen, izticha, vid) VALUES('$moeto_ip','$reason', '$time','$izticha','$vid')");
die();
}
?>
emptytable.php
Код:
<?php
include 'function.php';
$temptable = $_POST['temptable'];
$query = "truncate table $temptable";
if (mysql_query($query)) {
echo "table empty";
}
else {
echo "fail";
}
header('Location: index.php');
exit;
?>