Защита от sql инъекций

  • Автор темы master09
  • Дата начала
master09
Местный
Сообщения
68
Реакции
8
Всем привет вот имеется защита от sql инъекций проверял на Пост, Гет не пропускает!
PHP:
<?
//Проверяем Пост и Гет на ненужные символы
$arrs=array('_GET', '_POST');
foreach($arrs as $arr_key => $arr_value){
    if(is_array($$arr_value)){
        foreach($$arr_value as $key => $value){
            $nbz1=substr_count($value,'--');
            $nbz2=substr_count($value,'/*');
            $nbz3=substr_count($value,"'");
            $nbz4=substr_count($value,'"');
            if($nbz1>0 || $nbz2>0 || $nbz3>0 || $nbz4>0){
                print '<div class="error">Вы используете недопустимые

символы в '.str_replace('_','',$arr_value).'-запросе!<br><a

href="javascript:window.history.back();">Назад</a></div>';
                exit();
            }
        }
    }
}
?>
Теперь вопрос к более опытным реально ли обойти эту защиту?
А кому помог защитить сайт от воров ставим мне нравиться!
А ставиться он в самом начале странице и всё!
 
Rubrika
Участник
Сообщения
342
Реакции
43
спасибо конечно, кому надо - могу тоже попытаться из скрипта выдернуть другую, не тот, всемизвестный код, а с файлами, в онлайн-игре нашел )
 
romcka8
Местный
Сообщения
65
Реакции
3
А куда это вставлять?
 
DENIKA31
Местный
Сообщения
39
Реакции
2
страницы какой их куча на сайте
 
master09
Местный
Сообщения
68
Реакции
8
header
 
DENIKA31
Местный
Сообщения
39
Реакции
2
а почему именно в шапку не index.php ?
 
romcka8
Местный
Сообщения
65
Реакции
3
master09
Местный
Сообщения
68
Реакции
8
  • #10
а зачем спрашиваешь если сам знаешь? я думаю вообще не имеет разницы там или там защит самое главное
 
F1shka
Местный
Сообщения
53
Реакции
5
  • #11
Лучше делать через include? Кто что подскажет?
 
zobow
Участник
Сообщения
17
Реакции
1
  • #12
Здравствуйте. Вставил этот код в Header.php и теперь выдает 500 ошибку помогите решить пожалуйста
 
Remdev
Участник
Сообщения
77
Реакции
19
  • #13
Во-первых, если у тебя на сайте есть личные сообщения или чат, ты можешь доставить своим пользователям дискомфорт
Во-вторых, называть это защитой от инъекций - глупо. Это скорее просто попытка отфильтровать самые популярные методы проведения инъекций.
В-третьих, при некорректно настроенном сервере это не спасёт при проведении атаки, например через utf-7 (правда это настолько редкий случай, что можно его игнорировать)
 
zobow
Участник
Сообщения
17
Реакции
1
  • #14
ну пускай будет дискомфорт но будет хоть какая то зашита. Подскажите как исправить 500 ошибку пожалуйста
 
Remdev
Участник
Сообщения
77
Реакции
19
  • #15
zobow написал(а):
ну пускай будет дискомфорт но будет хоть какая то зашита. Подскажите как исправить 500 ошибку пожалуйста
Код смотреть надо.
p.s. Не стоит создавать дискомфорт для пользователей, они вам деньги приносят.
А защита должна быть не хоть какая-то, а нормальная
 
zobow
Участник
Сообщения
17
Реакции
1
  • #16
Remdev написал(а):
Код смотреть надо.
p.s. Не стоит создавать дискомфорт для пользователей, они вам деньги приносят.
А защита должна быть не хоть какая-то, а нормальная
Так подскажите как сделать защиту.
 
zobow
Участник
Сообщения
17
Реакции
1
  • #17
файл otziv.php XSS и SQL Injection Сканер жалуется на него подскажите где подвох
вот структура файла:

<?PHP
######################################
# Скрипт Fruit Farm
# Автор Rufus
# ICQ: 819-374
# Skype: Rufus272
######################################
$_OPTIMIZATION["title"] = "Отзывы о проекте";
$_OPTIMIZATION["description"] = "Список последних отзывов";
$_OPTIMIZATION["keywords"] = "Отзывы о taxifarm.ru";
?>
<div style="clear: both; height: 40px;"></div>
<div id="center" class="yjsgsitew">
<div id="b3">
<div class="block lh20">
<h2>Отзывы</h2>
Теперь здесь можно оставить свой отзыв о нашем проекте! Что бы оставить отзыв сумма пополнений на вашем балансе должна быть 50 рублей или более. Бонусом за любой отзыв является случайное <b>вознаграждение от 100 до 500 серебра</b> для покупок. Если в отзыве есть скриншот выплаты начисляется <b>вознаграждение от 500 до 1000 серебра</b> для покупок. Максимум можно оставить только 1 отзыв.<hr>
<font color="black">

<?php
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$user_name=$user_data["user"];
$user_insert=intval($user_data["insert_sum"]);

$db->Query("SELECT * FROM db_otziv WHERE user_id = '$usid'");
$col = $db->NumRows();

//Add otziv
if(isset($_POST['asd'])) {

$text = $db->RealEscape($_POST['content']);//Фильтрация
$neg = intval($_POST['neg']);//Фильтрация
$img = $db->RealEscape($_POST['img']);//Фильтрация

$date = time();
if($col >= 1) {
echo '<font color="red"><center>Вы уже добавляли отзыв! Спасибо!</center></font>';
} elseif (!isset($_SESSION["user"])) {
echo '<font color="red"><center>Для добавления отзыва необходимо пройти авторизацию!</center></font>';
} elseif(strlen($text) < 100 or $text == "") {
echo '<font color="red"><center>Минимальная длинна отзыва 100 символов!</center></font>';
} else {
$as = $db->Query("INSERT INTO db_otziv (login, user_id, date, text, neg, img) VALUES ('$usname', '$usid', '$date', '$text', '$neg', '$img')"); //Добавляем отзыв
if (strlen($text) > 100 and $img == "") {
$present=rand(100,500);
}
if ($img != "" and strlen($text) > 100) {
$present=rand(500,1000);
}


if(strlen($text) > 100) {
//$present=rand(100,1000);
$db->Query("UPDATE db_users_b SET money_b = money_b + $present WHERE id = '$usid'"); // + Кредиты за отзыв
}
}
if($as) echo "<font color=\"green\"><center>Ваш отзыв успешно добавлен и вам начисленно $present серебра!</center></font>";
}

//Delete Otziv
if(isset($_POST["delotz"]) AND isset($_POST["del_id"]))
{
$id=intval($_POST["del_id"]);
if(isset($_SESSION["admin"]))
{
$db->Query("DELETE FROM db_otziv WHERE user_id = {$id};");
echo('<tr><td align="center" colspan="6">Отзыв успешно удалён!</td></tr>');
}
}




//Vote news
if(isset($_GET['id_ans'])) { //Dis Like
if($_GET['rating'] == "dislike") {
$dislike = 1;
$oklike = 0;
$like = "-";
//$db->Query("UPDATE db_otziv SET like = like + 1 WHERE id = '$id_ans'");
} elseif ($_GET['rating'] == "oklike") {
$dislike = 0;
$oklike = 1;
$like = "+";
//$db->Query("UPDATE db_otziv SET like = like + 1 WHERE id = '$id_ans'");
} else {
echo "<font color=\"red\"><center>Неизвестная ошибка! Обратитесь к администрации!</center></font>";
}
$id_ans = intval($_GET['id_ans']);


$db->Query("SELECT * FROM db_vote_otziv WHERE user_id = '$usid' AND id_news = '$id_ans'");
if ($db->NumRows() >= 1) {
echo "<font color=\"red\"><center>Вы уже оценивали данный отзыв!</center></font>";
} else {
$db->Query("INSERT INTO db_vote_otziv (user_id, dislike, oklike, id_news) VALUES ($usid, $dislike, $oklike, $id_ans) ");
$db->Query("UPDATE db_otziv SET `like` = `like` $like 1 WHERE id = '$id_ans'");
echo "<font color=\"green\"><center>Ваша оценка принята!</center></font>";

}



}



$db->Query("SELECT * FROM db_otziv");
if($db->NumRows() > 0) {

//вывод отзывов в цикле)

$num = 15;
$page = $_GET['page'];
$result00 = $db->Query("SELECT COUNT(*) FROM db_otziv");
$temp = $db->FetchArray($result00);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;



$db->Query("SELECT * FROM db_otziv ORDER BY id DESC LIMIT $start, $num");

while($otziv = $db->FetchArray()) {

$id_otziv = $otziv['id'];

//$lik = $db->Query("SELECT * FROM db_vote_otziv WHERE id_news = '$id_otziv' AND dislike = 1");
//$like = $db->NumRows($lik);

$by_user_id = $otziv['user_id'];
if($otziv['neg'] == 1) {
$otziv['neg'] = 'Положительный отзыв от ';
$collor = "green";
} elseif ($otziv['neg'] == 2) {
$otziv['neg'] = 'Негативный отзыв от ';
$collor = "red";
} else {
$otziv['neg'] = 'Нейтральный отзыв от ';
$collor = "black";
}
if(isset($_SESSION["admin"]))
{
$admlink="<form action=\"\" method=\"post\">
<input type=\"hidden\" name=\"del_id\" value=\"$by_user_id\">
<input type=\"submit\" name=\"delotz\" value=\"Удалить\" />
</form>";
}
$date = date("d.m.Y",intval($otziv["date"]));
echo '<hr><font color='.$collor.'><b>'.$otziv['neg'].'- '.$otziv['login'].'</b></font> '.$date.' '.$admlink.'<br>'.$otziv['text'].'<br>';
if ($otziv['img'] != '') {
echo '<center><hr><a href="https://servahoc.ru/redirect.php?url='.$otziv['img'].'" target="_blank"><img src="'.$otziv['img'].'" width="500px"/></a></center><br>';
}
if ($otziv['like'] > 0) {
$like = '<font color="green">'.$otziv['like'].'</font>';
} elseif($otziv['like'] < 0) {
$like = '<font color="red">'.$otziv['like'].'</font>';
} elseif ($otziv['like'] == 0) {
$like = $otziv['like'];
}
if (!$usid) {
echo "<td><a href=\"#\" onClick=\"alert('Вам требуется авторизоваться, чтобы оценить запись')\"><img src=\"http://s17.rimg.info/95958c121924bc27780adcb3d382cb2e.gif\"></a> &nbsp;&nbsp;".$like;
echo " &nbsp;&nbsp;<a href=\"#\" onClick=\"alert('Вам требуется авторизоваться, чтобы оценить запись')\"><img src=\"http://s20.rimg.info/fc15db41ec50ab9dd0dd06be83d545c4.gif\"></a></td>";

} else {
echo '<a href="https://servahoc.ru/redirect.php?url=/?menu=otziv&id_ans='.$otziv['id'].'&rating=dislike"><img src="/img/dislike.png"></a> &nbsp;&nbsp;'.$like;
echo ' &nbsp;&nbsp;<a href="https://servahoc.ru/redirect.php?url=/?menu=otziv&id_ans='.$otziv['id'].'&rating=oklike"><img src="/img/like.png"></a>';
}
echo '<hr><center><img src="/img/tretwer.png"></center><br>';
}


// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=/news/1>Первая</a> | <a href='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href='. ($page + 1) .'>Следующая</a> | <a href=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
} else {
echo '<tr><td align="center" colspan="6"><font color="green"><center>Отзывов еще не было!</center></font></td></tr>';
}
?>
<?php
if(!isset($_SESSION["user"])) {
echo '<tr><td align="center" colspan="6"><font color="red"><center>Для оставления отзыва необходимо войти в систему!</center></font></td></tr>';
} elseif ($user_insert < 50 or $col >= 1){
echo('<tr><td align="center" colspan="6"><font color="red"><center>Вы уже оставляли отзыв, либо сумма пополнений игрового счёта меньше 50 рублей!</center></font></td></tr>');
} else {


?>
<form method="post" action="">
<div align="center" style="margin:5px;clear:both">Оставьте отзыв! Для нас это очень важно!<br>
<textarea name="content" rows="8" style="resize:none;width:95%;"></textarea>
</div>
<div align="center" style="margin:5px">
<input type="radio" name="neg" value="1" checked title="Положителный отзыв"><img src="/img/07.gif" title="Положителный отзыв">
<input type="radio" name="neg" value="2" title="Негативный отзыв"><img src="/img/13.gif" title="Негативный отзыв">
<input type="radio" name="neg" value="3" title="Нейтральный отзыв"><img src="/img/02.gif" title="Нейтральный отзыв"><br>
<input type="hidden" name="asd" >
Скрин выплаты(не обязательно): <input type="text" name="img" value=""><br>
<input type="submit" value="Написать отзыв">
</div>
</form>
<? } ?>
</div>
</font>
</div>
</div>

<div style="clear: both;"></div>
</div>
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
  • #18
и в каком месте он жалуется на него?
 
zobow
Участник
Сообщения
17
Реакции
1
  • #19
kvozimir написал(а):
и в каком месте он жалуется на него?
он мне пишет это
/_otziv.php
36:


/_otziv.php
46:


SQL Injection!
46:


FIXED
 
BtcBets
Участник
Сообщения
22
Реакции
2
  • #20
SQL Injection 1

46 строчка:
zobow написал(а):
файл otziv.php XSS и SQL Injection Сканер жалуется на него подскажите где подвох
вот структура файла:

<?PHP
######################################
# Скрипт Fruit Farm
# Автор Rufus
# ICQ: 819-374
# Skype: Rufus272
######################################
$_OPTIMIZATION["title"] = "Отзывы о проекте";
$_OPTIMIZATION["description"] = "Список последних отзывов";
$_OPTIMIZATION["keywords"] = "Отзывы о taxifarm.ru";
?>
<div style="clear: both; height: 40px;"></div>
<div id="center" class="yjsgsitew">
<div id="b3">
<div class="block lh20">
<h2>Отзывы</h2>
Теперь здесь можно оставить свой отзыв о нашем проекте! Что бы оставить отзыв сумма пополнений на вашем балансе должна быть 50 рублей или более. Бонусом за любой отзыв является случайное <b>вознаграждение от 100 до 500 серебра</b> для покупок. Если в отзыве есть скриншот выплаты начисляется <b>вознаграждение от 500 до 1000 серебра</b> для покупок. Максимум можно оставить только 1 отзыв.<hr>
<font color="black">

<?php
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$user_name=$user_data["user"];
$user_insert=intval($user_data["insert_sum"]);

$db->Query("SELECT * FROM db_otziv WHERE user_id = '$usid'");
$col = $db->NumRows();

//Add otziv
if(isset($_POST['asd'])) {

$text = $db->RealEscape($_POST['content']);//Фильтрация
$neg = intval($_POST['neg']);//Фильтрация
$img = $db->RealEscape($_POST['img']);//Фильтрация

$date = time();
if($col >= 1) {
echo '<font color="red"><center>Вы уже добавляли отзыв! Спасибо!</center></font>';
} elseif (!isset($_SESSION["user"])) {
echo '<font color="red"><center>Для добавления отзыва необходимо пройти авторизацию!</center></font>';
} elseif(strlen($text) < 100 or $text == "") {
echo '<font color="red"><center>Минимальная длинна отзыва 100 символов!</center></font>';
} else {
$as = $db->Query("INSERT INTO db_otziv (login, user_id, date, text, neg, img) VALUES ('$usname', '$usid', '$date', '$text', '$neg', '$img')"); //Добавляем отзыв
if (strlen($text) > 100 and $img == "") {
$present=rand(100,500);
}
if ($img != "" and strlen($text) > 100) {
$present=rand(500,1000);
}


if(strlen($text) > 100) {
//$present=rand(100,1000);
$db->Query("UPDATE db_users_b SET money_b = money_b + $present WHERE id = '$usid'"); // + Кредиты за отзыв
}
}
if($as) echo "<font color=\"green\"><center>Ваш отзыв успешно добавлен и вам начисленно $present серебра!</center></font>";
}

//Delete Otziv
if(isset($_POST["delotz"]) AND isset($_POST["del_id"]))
{
$id=intval($_POST["del_id"]);
if(isset($_SESSION["admin"]))
{
$db->Query("DELETE FROM db_otziv WHERE user_id = {$id};");
echo('<tr><td align="center" colspan="6">Отзыв успешно удалён!</td></tr>');
}
}




//Vote news
if(isset($_GET['id_ans'])) { //Dis Like
if($_GET['rating'] == "dislike") {
$dislike = 1;
$oklike = 0;
$like = "-";
//$db->Query("UPDATE db_otziv SET like = like + 1 WHERE id = '$id_ans'");
} elseif ($_GET['rating'] == "oklike") {
$dislike = 0;
$oklike = 1;
$like = "+";
//$db->Query("UPDATE db_otziv SET like = like + 1 WHERE id = '$id_ans'");
} else {
echo "<font color=\"red\"><center>Неизвестная ошибка! Обратитесь к администрации!</center></font>";
}
$id_ans = intval($_GET['id_ans']);


$db->Query("SELECT * FROM db_vote_otziv WHERE user_id = '$usid' AND id_news = '$id_ans'");
if ($db->NumRows() >= 1) {
echo "<font color=\"red\"><center>Вы уже оценивали данный отзыв!</center></font>";
} else {
$db->Query("INSERT INTO db_vote_otziv (user_id, dislike, oklike, id_news) VALUES ($usid, $dislike, $oklike, $id_ans) ");
$db->Query("UPDATE db_otziv SET `like` = `like` $like 1 WHERE id = '$id_ans'");
echo "<font color=\"green\"><center>Ваша оценка принята!</center></font>";

}



}



$db->Query("SELECT * FROM db_otziv");
if($db->NumRows() > 0) {

//вывод отзывов в цикле)

$num = 15;
$page = $_GET['page'];
$result00 = $db->Query("SELECT COUNT(*) FROM db_otziv");
$temp = $db->FetchArray($result00);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;



$db->Query("SELECT * FROM db_otziv ORDER BY id DESC LIMIT $start, $num");

while($otziv = $db->FetchArray()) {

$id_otziv = $otziv['id'];

//$lik = $db->Query("SELECT * FROM db_vote_otziv WHERE id_news = '$id_otziv' AND dislike = 1");
//$like = $db->NumRows($lik);

$by_user_id = $otziv['user_id'];
if($otziv['neg'] == 1) {
$otziv['neg'] = 'Положительный отзыв от ';
$collor = "green";
} elseif ($otziv['neg'] == 2) {
$otziv['neg'] = 'Негативный отзыв от ';
$collor = "red";
} else {
$otziv['neg'] = 'Нейтральный отзыв от ';
$collor = "black";
}
if(isset($_SESSION["admin"]))
{
$admlink="<form action=\"\" method=\"post\">
<input type=\"hidden\" name=\"del_id\" value=\"$by_user_id\">
<input type=\"submit\" name=\"delotz\" value=\"Удалить\" />
</form>";
}
$date = date("d.m.Y",intval($otziv["date"]));
echo '<hr><font color='.$collor.'><b>'.$otziv['neg'].'- '.$otziv['login'].'</b></font> '.$date.' '.$admlink.'<br>'.$otziv['text'].'<br>';
if ($otziv['img'] != '') {
echo '<center><hr><a href="https://servahoc.ru/redirect.php?url='.$otziv['img'].'" target="_blank"><img src="'.$otziv['img'].'" width="500px"/></a></center><br>';
}
if ($otziv['like'] > 0) {
$like = '<font color="green">'.$otziv['like'].'</font>';
} elseif($otziv['like'] < 0) {
$like = '<font color="red">'.$otziv['like'].'</font>';
} elseif ($otziv['like'] == 0) {
$like = $otziv['like'];
}
if (!$usid) {
echo "<td><a href=\"#\" onClick=\"alert('Вам требуется авторизоваться, чтобы оценить запись')\"><img src=\"http://s17.rimg.info/95958c121924bc27780adcb3d382cb2e.gif\"></a> &nbsp;&nbsp;".$like;
echo " &nbsp;&nbsp;<a href=\"#\" onClick=\"alert('Вам требуется авторизоваться, чтобы оценить запись')\"><img src=\"http://s20.rimg.info/fc15db41ec50ab9dd0dd06be83d545c4.gif\"></a></td>";

} else {
echo '<a href="https://servahoc.ru/redirect.php?url=/?menu=otziv&id_ans='.$otziv['id'].'&rating=dislike"><img src="/img/dislike.png"></a> &nbsp;&nbsp;'.$like;
echo ' &nbsp;&nbsp;<a href="https://servahoc.ru/redirect.php?url=/?menu=otziv&id_ans='.$otziv['id'].'&rating=oklike"><img src="/img/like.png"></a>';
}
echo '<hr><center><img src="/img/tretwer.png"></center><br>';
}


// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=/news/1>Первая</a> | <a href='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href='. ($page + 1) .'>Следующая</a> | <a href=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
} else {
echo '<tr><td align="center" colspan="6"><font color="green"><center>Отзывов еще не было!</center></font></td></tr>';
}
?>
<?php
if(!isset($_SESSION["user"])) {
echo '<tr><td align="center" colspan="6"><font color="red"><center>Для оставления отзыва необходимо войти в систему!</center></font></td></tr>';
} elseif ($user_insert < 50 or $col >= 1){
echo('<tr><td align="center" colspan="6"><font color="red"><center>Вы уже оставляли отзыв, либо сумма пополнений игрового счёта меньше 50 рублей!</center></font></td></tr>');
} else {


?>
<form method="post" action="">
<div align="center" style="margin:5px;clear:both">Оставьте отзыв! Для нас это очень важно!<br>
<textarea name="content" rows="8" style="resize:none;width:95%;"></textarea>
</div>
<div align="center" style="margin:5px">
<input type="radio" name="neg" value="1" checked title="Положителный отзыв"><img src="/img/07.gif" title="Положителный отзыв">
<input type="radio" name="neg" value="2" title="Негативный отзыв"><img src="/img/13.gif" title="Негативный отзыв">
<input type="radio" name="neg" value="3" title="Нейтральный отзыв"><img src="/img/02.gif" title="Нейтральный отзыв"><br>
<input type="hidden" name="asd" >
Скрин выплаты(не обязательно): <input type="text" name="img" value=""><br>
<input type="submit" value="Написать отзыв">
</div>
</form>
<? } ?>
</div>
</font>
</div>
</div>

<div style="clear: both;"></div>
</div>

$as = $db->Query("INSERT INTO db_otziv (login, user_id, date, text, neg, img) VALUES ('$usname', '$usid', '$date', '$text', '$neg', '".mysql_real_escape_string($img)."')"); //Добавляем отзыв
 
Сверху