Просмотр полной версии : Гуестбук от меня
Guestbook by scrat
Вот тока что написал.Прошу оценить/дать советы по:
1.Анти- sql-inj в add.php
2.Анти-xss в view.php
скачать (http://dump.ru/files/j/j3279594351/)
Всё что нужно для установки в config.php
пс в img.php будет генерация каринок для антифлуда
Так в принципе не плохо, SQL-inj нету, а чтобы небыло XSS проверяй на валидность все данные перед добавлением в базу =)
Мдя.
1. инсталляшку вручную писать? можно было бы хотя бы скуль-запросы вынести в отдельный файл.
2. мде, strpos'ом умно делать анти-xss и антискуль
xss: striptags(); htmlspecialchars(); htmlentities();
sql: mysql_escape_string(); mysql_real_escape_string;
3. фильтровать твоим способом нужно не только "`", но и другие кавычки.
4. аналогично c XSS, если ты полагаешь, что все XSSки содержат <.script>, ты глубоко заблуждаешься.
вообще продукты нужно писать с учетом конфигурации сервера, для начала, с учетом результата get_magic_quotes_gpc
резюме: бажный недопроект. не в обиду, но над ним еще работать и работать...
Помница кто-то тоже кидал какой-то свой софт и типа скуль запросы самому вводить =) не ты ли нитрех?))))))) аяяй))))
ладно-ладно хватит парня апсирать, ы и так наем, что ты мега программер =)))
ты меня с кем-то путаешь определенно. Nitrex из ру-24, между прочим, совершенно другой чел.
"апсирания" я не вижу, но выкладывать небезопасные скрипты на форуме по безопасности не совсем логично.
Помница кто-то тоже кидал какой-то свой софт и типа скуль запросы самому вводить =) не ты ли нитрех?))))))) аяяй))))
ладно-ладно хватит парня апсирать, ы и так наем, что ты мега программер =)))
Помница кто-то тоже кидал какой-то свой софт и типа скуль запросы самому вводить =) не ты ли нитрех?))))))) аяяй))))
ладно-ладно хватит парня апсирать, ы и так наем, что ты мега программер =)))
так я и просил "обосрать"(оценить/дать советы) в первом посте ;)
gemaglabin
11.09.2007, 16:51
if(strpos($_POST['name'],"`")||strpos($_POST['email'],"`")||strpos($_POST['msg'],"'")) echo "<H4>ANTI HAKA-HAKA!!!</H4>";
else
if(mysql_query("insert into gb values(\"".$_POST['name']."\",\"".$_POST['email']."\",\"".$_POST['msg']."\");")) echo "Запись успешно добавлена!<br><a href=\"view.php\">Просмотреть записи</a>";
Ты используешь двойные ковычки а фильтруешь одинарные...
if(strpos($f['name'],"<script>")||strpos($f['email'],"<script>")||strpos($f['msg'],"<script>")) echo "<H4>ANTI HAKA-HAKA!!!</H4>";
Для осуществления xss не обязательно открывать тег script
вот с нормальной фильтрацией:
http://dump.ru/files/j/j3889184444/
пс инсталлер будет вместе с img.php
да ничего, плохо смайлов нету=((((
gemaglabin
11.09.2007, 16:59
Там опять нету фильтрации.
Надо приравнивать значение , функция возвращает значение а не изменяет его
strip_tags($_POST['name']);
$_POST['name'] = strip_tags($_POST['name']);
gemaglabin: с фильтрацие sql также?
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
http://img521.imageshack.us/img521/5817/antispamxq5.th.png (http://img521.imageshack.us/my.php?image=antispamxq5.png)
как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
http://img521.imageshack.us/img521/5817/antispamxq5.th.png (http://img521.imageshack.us/my.php?image=antispamxq5.png)
как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????
А может быть сделаешь вместо include("img.php"); это <img src=img.php />
?
Так в принципе не плохо, SQL-inj нету, а чтобы небыло XSS проверяй на валидность все данные перед добавлением в базу =)
Логичнее было бы проверять их перед выводом
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
http://img521.imageshack.us/img521/5817/antispamxq5.th.png (http://img521.imageshack.us/my.php?image=antispamxq5.png)
как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????
Выложи сюда код файла img.php, скачивать не хочется
<?
//Header("Content-type: image/jpeg");
//ok,let's go!
$s="krev";
$s[1]=chr(mt_rand(48,122));
$s[2]=chr(mt_rand(48,122));
$s[3]=chr(mt_rand(48,122));
$s[4]=chr(mt_rand(48,122));
$im=imagecreate(200,100);
$c=imagecolorallocate($im,mt_rand(150,255),mt_rand (150,255),mt_rand(150,255));
imagestring($im,4,100,50,$s,imagecolorallocate($im ,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100)));
//imagejpeg($im);
?>
GreenBear
11.09.2007, 18:29
хидеры не могут быть посланы после вывода текста в браузер.
делай в теге имг, как сказали.
хидеры не могут быть посланы после вывода текста в браузер.
делай в теге имг, как сказали.
а как я строку буду проверять???
GreenBear
11.09.2007, 18:48
заноси значение картинки в сессию.
заноси значение картинки в сессию.
а без сессий никак(а то я их страшно боюсь)?
GreenBear
11.09.2007, 18:53
чего их боятся. там проще некуда.
чего их боятся. там проще некуда.
гемороится ща влом.потом надо будет написать.
GreenBear
11.09.2007, 19:23
session_start();
$_SESSION['img'] = $img;
тяжело?
Офф:Эм...а че вы все пишиште таким шрифтом и цветом?
GreenBear
11.09.2007, 19:45
почему все =) только сидекс меня копирует =)
это тока мы с ГринБиром.
GreenBear тсс, не пали контору.
session_start();
$_SESSION['img'] = $img;
тяжело?
и где мне $img взять?свзяжи это с img.php!
GreenBear
11.09.2007, 19:56
$img - это та переменая, с которой надо сравнивать введенное.
$img - это та переменая, с которой надо сравнивать введенное.
тык мы выводим через <img src=...куда это надо вставлять?
Твайу мать а......
<img src="script.php" />
script.php....
session_start();
.......
Автар, ты вначале Php выучи, а потом уже пиши скрипты такого типа.
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\guestbook\add.php:2) in C:\AppServ\www\guestbook\img.php on line 12
я сорцы не смотрел....но
до <? не должно быть не пробелов ничего друго...
http://dump.ru/files/j/j0446572124/ вот сварганил
nc.STRIEM
11.09.2007, 21:11
мда......
автор: http://php.ru
там есть всё!
ну к чёрту эту картинку вот финалка http://dump.ru/files/j/j828566/
По мелочам:
view.php
10: $g=array(); - это лишнее
add.php
28: mysql_escape_string($_POST['msgl']);
img.php
1: $_SESSION['img'] = $krev; - это не надо
10: session_start(); - должно быть в самом начале
Да и вообще в img.php какойто бред написан =\
По мелочам:
view.php
10: $g=array(); - это лишнее
add.php
28: mysql_escape_string($_POST['msgl']);
img.php
1: $_SESSION['img'] = $krev; - это не надо
10: session_start(); - должно быть в самом начале
Да и вообще в img.php какойто бред написан =\
img.php не используется.за остальное спс.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot