PDA

Просмотр полной версии : Гуестбук от меня


scrat
11.09.2007, 16:13
Guestbook by scrat
Вот тока что написал.Прошу оценить/дать советы по:
1.Анти- sql-inj в add.php
2.Анти-xss в view.php
скачать (http://dump.ru/files/j/j3279594351/)
Всё что нужно для установки в config.php
пс в img.php будет генерация каринок для антифлуда

ant0ha
11.09.2007, 16:25
Так в принципе не плохо, SQL-inj нету, а чтобы небыло XSS проверяй на валидность все данные перед добавлением в базу =)

n1†R0x
11.09.2007, 16:37
Мдя.

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, между прочим, совершенно другой чел.

"апсирания" я не вижу, но выкладывать небезопасные скрипты на форуме по безопасности не совсем логично.

Sn@k3
11.09.2007, 16:40
Помница кто-то тоже кидал какой-то свой софт и типа скуль запросы самому вводить =) не ты ли нитрех?))))))) аяяй))))
ладно-ладно хватит парня апсирать, ы и так наем, что ты мега программер =)))

scrat
11.09.2007, 16:42
Помница кто-то тоже кидал какой-то свой софт и типа скуль запросы самому вводить =) не ты ли нитрех?))))))) аяяй))))
ладно-ладно хватит парня апсирать, ы и так наем, что ты мега программер =)))
так я и просил "обосрать"(оценить/дать советы) в первом посте ;)

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

scrat
11.09.2007, 16:54
вот с нормальной фильтрацией:
http://dump.ru/files/j/j3889184444/
пс инсталлер будет вместе с img.php

sxsanti
11.09.2007, 16:57
да ничего, плохо смайлов нету=((((

gemaglabin
11.09.2007, 16:59
Там опять нету фильтрации.

Надо приравнивать значение , функция возвращает значение а не изменяет его


strip_tags($_POST['name']);



$_POST['name'] = strip_tags($_POST['name']);

scrat
11.09.2007, 17:07
gemaglabin: с фильтрацие sql также?

scrat
11.09.2007, 17:48
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
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 всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????

NOmeR1
11.09.2007, 18:01
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
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 />
?

Isis
11.09.2007, 18:04
Так в принципе не плохо, SQL-inj нету, а чтобы небыло XSS проверяй на валидность все данные перед добавлением в базу =)
Логичнее было бы проверять их перед выводом

Isis
11.09.2007, 18:05
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
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, скачивать не хочется

scrat
11.09.2007, 18:14
<?
//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
хидеры не могут быть посланы после вывода текста в браузер.
делай в теге имг, как сказали.

scrat
11.09.2007, 18:35
хидеры не могут быть посланы после вывода текста в браузер.
делай в теге имг, как сказали.
а как я строку буду проверять???

GreenBear
11.09.2007, 18:48
заноси значение картинки в сессию.

scrat
11.09.2007, 18:52
заноси значение картинки в сессию.
а без сессий никак(а то я их страшно боюсь)?

GreenBear
11.09.2007, 18:53
чего их боятся. там проще некуда.

scrat
11.09.2007, 19:16
чего их боятся. там проще некуда.
гемороится ща влом.потом надо будет написать.

GreenBear
11.09.2007, 19:23
session_start();
$_SESSION['img'] = $img;
тяжело?

Isis
11.09.2007, 19:37
Офф:Эм...а че вы все пишиште таким шрифтом и цветом?

GreenBear
11.09.2007, 19:45
почему все =) только сидекс меня копирует =)

ak[id]
11.09.2007, 19:45
это тока мы с ГринБиром.
GreenBear тсс, не пали контору.

scrat
11.09.2007, 19:55
session_start();
$_SESSION['img'] = $img;
тяжело?
и где мне $img взять?свзяжи это с img.php!

GreenBear
11.09.2007, 19:56
$img - это та переменая, с которой надо сравнивать введенное.

scrat
11.09.2007, 19:58
$img - это та переменая, с которой надо сравнивать введенное.
тык мы выводим через <img src=...куда это надо вставлять?

Isis
11.09.2007, 20:06
Твайу мать а......
<img src="script.php" />

script.php....
session_start();
.......

NOmeR1
11.09.2007, 20:12
Автар, ты вначале Php выучи, а потом уже пиши скрипты такого типа.

scrat
11.09.2007, 20:14
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

inv
11.09.2007, 20:18
я сорцы не смотрел....но
до <? не должно быть не пробелов ничего друго...

scrat
11.09.2007, 20:27
http://dump.ru/files/j/j0446572124/ вот сварганил

nc.STRIEM
11.09.2007, 21:11
мда......
автор: http://php.ru
там есть всё!

scrat
12.09.2007, 12:28
ну к чёрту эту картинку вот финалка http://dump.ru/files/j/j828566/

ant0ha
12.09.2007, 12:54
По мелочам:

view.php
10: $g=array(); - это лишнее

add.php
28: mysql_escape_string($_POST['msgl']);

img.php
1: $_SESSION['img'] = $krev; - это не надо
10: session_start(); - должно быть в самом начале

Да и вообще в img.php какойто бред написан =\

scrat
12.09.2007, 13:17
По мелочам:

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 не используется.за остальное спс.