Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Гуестбук от меня (https://forum.antichat.xyz/showthread.php?t=48800)

scrat 11.09.2007 16:13

Гуестбук от меня
 
Guestbook by scrat
Вот тока что написал.Прошу оценить/дать советы по:
1.Анти- sql-inj в add.php
2.Анти-xss в view.php
скачать
Всё что нужно для установки в 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

резюме: бажный недопроект. не в обиду, но над ним еще работать и работать...

Цитата:

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

ты меня с кем-то путаешь определенно. Nitrex из ру-24, между прочим, совершенно другой чел.

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

Sn@k3 11.09.2007 16:40

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

scrat 11.09.2007 16:42

Цитата:

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

так я и просил "обосрать"(оценить/дать советы) в первом посте ;)

gemaglabin 11.09.2007 16:51

PHP код:

    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>"

Ты используешь двойные ковычки а фильтруешь одинарные...

PHP код:

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

Там опять нету фильтрации.

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

PHP код:

strip_tags($_POST['name']); 

PHP код:

$_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/5...spamxq5.th.png
как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????

NOmeR1 11.09.2007 18:01

Цитата:

Сообщение от scrat
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
http://img521.imageshack.us/img521/5...spamxq5.th.png
как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????

А может быть сделаешь вместо
PHP код:

include("img.php"); 

это
Код HTML:

<img src=img.php />
?

Isis 11.09.2007 18:04

Цитата:

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

Логичнее было бы проверять их перед выводом

Isis 11.09.2007 18:05

Цитата:

Сообщение от scrat
не,снейк конечно сказал что я мегакодер!вот вам моя революционная антифлуд система:
http://img521.imageshack.us/img521/5...spamxq5.th.png
как исправить?в img.php генерится картинка.сначало я просто делал include("img.php"); - результат на картинке.потом вырубил вывод картинки в самом img.php(imagejpeg()) и сделал его уже в add.php всё равно не заработало.Мб надо как-то хитро хеадеры посылать?????

Выложи сюда код файла img.php, скачивать не хочется

scrat 11.09.2007 18:14

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

хидеры не могут быть посланы после вывода текста в браузер.
делай в теге имг, как сказали.

scrat 11.09.2007 18:35

Цитата:

Сообщение от GreenBear
хидеры не могут быть посланы после вывода текста в браузер.
делай в теге имг, как сказали.

а как я строку буду проверять???

GreenBear 11.09.2007 18:48

заноси значение картинки в сессию.

scrat 11.09.2007 18:52

Цитата:

Сообщение от GreenBear
заноси значение картинки в сессию.

а без сессий никак(а то я их страшно боюсь)?

GreenBear 11.09.2007 18:53

чего их боятся. там проще некуда.

scrat 11.09.2007 19:16

Цитата:

Сообщение от GreenBear
чего их боятся. там проще некуда.

гемороится ща влом.потом надо будет написать.

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

Цитата:

Сообщение от GreenBear
session_start();
$_SESSION['img'] = $img;
тяжело?

и где мне $img взять?свзяжи это с img.php!

GreenBear 11.09.2007 19:56

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

scrat 11.09.2007 19:58

Цитата:

Сообщение от GreenBear
$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

Цитата:

Сообщение от ant0ha
По мелочам:

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


Время: 05:27