Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Топ: Небольшие вопросы по MySQL
Сообщения
Ninja

Небольшие вопросы мо MySQL  Переименуйте

15 Май 2010, 8:49
newrus

Toxin, а какое именно условие?

15 Май 2010, 8:51
Toxin

Например пользователя вместо то чтоб ввести 5 вводит это:
$post='5 or mess=6':
и этот код выполняется(sql injection)
SELECT * FROM message WHERE mess=htmlspecialchars($post)

15 Май 2010, 9:09
XsErG

Toxin, как бы если там должно быть число, то обрабатываем $post = (int) $post.
А если должна быть строка, то mysql_real_escape_string()

15 Май 2010, 10:44
Mars803

XsErG, Я делаю по другому, я для задач выборки использую отдельного пользователя у которого из прав только SELECT, и всё, остальное мне не грозит

15 Май 2010, 10:46
XsErG

И? А если я выберу таблицу users с логинами, хешами, мыльниками (возможно контрольными вопросами и ответами)?
Это спасет от удаления, а удаление не самое популярное средство, интереснее все же войти в систему Ы.
Кстати можно юзать prepead statements и забыть "почти" про скулинъекшн

15 Май 2010, 10:49
Toxin

Я знаю как защитится от инекции, я спрашиваю как ее можно произвести если переменная получена от пользователя ничем не обрабатывается как только htmlspecialchars?

15 Май 2010, 12:11
w@p

Над осушествить проверку на наличие сайта в базе
$adr=mysql_real_escape_string($_POST['adr']);
$prov=parse_url("$adr");

while($rown=mysql_fetch_array($row))
$tt=parse_url($rown['adr']);
{
if($prov=$tt['host']) {$error="Такой сайт уже зарегистрирован!<br/>\n";}
}

что не так(( немогу понять

16 Май 2010, 12:00
Mediator21

w@p, где сам запрос к БД?

16 Май 2010, 12:02
w@p

$row = @mysql_query("select * from site ;");

16 Май 2010, 12:11
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.