Вопросы от Le Edelweiss'a

dreamer

Member
Re: Вопрос по сессиям в PHP

Можно же использовать AND, OR для различных манипуляций? Для некоторых типов данных кавычки не важны. Например usergroup=6 и т.п.
Например, запрос на удаление:
delete from user where username='vpupkin'
Можно его модифицировать:
delete from users where username='vpupkin' OR usergroup=6.
Таким образом сносим все, что имеет юзернейм vpupkin или юзергруп=6.
Ну рассматривали же mysql_escape_string, real - с учетом кодировки.
Или я не прав?
Экранировать нужно только значения, если у вас в скрипт передается нечто, содержащее логику (энд, ор) то это дыра в безопасности. А значения можно в кавычки брать любые, даже числа, это как раз и защитит вас от инъекции в сочетании с mysql_escape_string.
В вашем примере достаточно такого:
PHP:
$user = mysql_escape_string($_POST['user']);
$group = intval($_POST['usergroup']); # раз уж вы знаете что это число
$query = "delete from users where username='$user' OR usergroup=$group";
Учет же кодировки вам нужен только если вы используете кодировку базы отличную от cp1251 или utf-8 (почитайте статью по ссылке, которую я кидал, там как раз интересно об этом написано).
 

Le Edelweiss

Няяяяя.... ^_^
PHP и загруженные файлы

Всем доброго времени суток! У меня есть вопрос, возможно интерисующий многих, как, загруженный файл на сервер с помощью формы, проверить не является ли этот файл зловредным скриптом или что-то в этом роде, кроме интерисующего меня файла, картинок например?
 

Feuer

root@ded-desktop:~#
Модератор
Re: PHP и загруженные файлы

самый простой способ - выдери модуль загрузки с wap motor или другого движка проверяющего mime-type
 

Le Edelweiss

Няяяяя.... ^_^
Где у меня может быть ошибка?

Значить суть такова. Посылаю через формы информацию, принимаю этим обработчиком:
PHP:
<?PHP 
if (isset($_POST['submit'])){$submit=1;}
 if (isset($_POST['name'])) {$name=$_POST['name'];}
 if (isset($_POST['category'])) {$category=$_POST['category'];}
 if (isset($_POST['desc'])) {$desc=$_POST['desc'];}
 if (isset($_POST['text'])) {$text=$_POST['text'];}
 if (isset($_POST['note'])) {$note=$_POST['note'];}
 $date = date("Y-m-d");
 $author = $_SESSION['logget_id'];
 $text = stripslashes($text);
 $desc = stripslashes($desc);
 if ($submit==1){
 $result = mysql_query("INSERT INTO posts(name,category,desc,text,note,author,date) VALUES ('$name','$category','$desc','$text','$note','$author','$date')",$db); }// запрос мертв :(
?>
В конце концов, я проверил, все переменные передаются, но запрос просто игнорируется, что это может быть?
 

Le Edelweiss

Няяяяя.... ^_^
Re: Где у меня может быть ошибка?

Казалось бы банальный пример, но я уже 3 часа голову ломаю, чего игнорирует запрос :(
 

FEOFAN

http://feofan.com
Re: Где у меня может быть ошибка?

сделай вначале обработчика
print_r($_POST);
и скинь результат сюда
 

Le Edelweiss

Няяяяя.... ^_^
Re: Где у меня может быть ошибка?

PHP:
Array ( [name] => название [category] => 1 [desc] => краткое описание [text] => полное [note] => подпись [submit] => Отправить )
 

Le Edelweiss

Няяяяя.... ^_^
Re: Где у меня может быть ошибка?

кароч, отказывается добавлять только в таблицу постс, что посоветуете?
 
Зверху