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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   помогите с php (https://forum.antichat.xyz/showthread.php?t=19904)

temon 30.05.2006 11:55

помогите с php
 
Ребята.
Подскажите пожалуйста.
Вот в файле есть дыра, если в stat.php?=-1 то
mysql_fetch_row():. Короче можно sql инжекцию потом сделать.
чТО НУжно добавить в файл stat.php, чтобы при ошибочном запросе к sql выходило сообщения что нет такой статьи.
Заранее спаисбо.

ferryman 30.05.2006 12:07

if (!mysql_num_rows($result)){
print 'Not found';
}else{
print 'OK';
}

temon 30.05.2006 20:47

большое спасибо.
проверю, если работает то огромное спасибо.

temon 30.05.2006 21:54

не катит совсем.
выходит сообщение нот фаунд и все равно
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /xxxxx/mainfile.php on line 526
Может сорс всего файла стат написать. чтобы понятнее было.

Boxa 31.05.2006 03:56

у тебя mysql_query запрос ошибочный. mysql_error()ом проверь

temon 31.05.2006 06:44

я в php не гуру.
каким образом проверить?

Trinux 31.05.2006 08:40

после mysql_query(); ставишь echo mysql_error(); или mysql_query() or die(mysql_error());

ZaCo 31.05.2006 12:06

так тут человеку защититься нужно как я понял. если только с '-' прокатывает то это не дыра. лучше сделай сразу $id=intval($id>=0?$id:0);

Trinux 31.05.2006 14:04

вообще если нужно обезопаситься, то достаточно
PHP код:

$query=mysql_query("SELECT 1 FROM table WHERE id='".addslashes($id)."' LIMIT 1");
if(
mysql_num_rows($query)){
... 


ZaCo 31.05.2006 14:18

только он число передает ;)


Время: 10:38