Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как защититься от SQL инъекции
 
 автор: iMozgoloMchik   (27.01.2012 в 13:04)   письмо автору
 
 

у меня есть скрипт который выводит названия статей и ссылку на нее,
допустим :
[code]<a href = "coment?article=$1>$name</a>"[code]

где $1 - id элемента в БД
$name - название статьи

как мне следует фильтровать $1, когда передается id, от SQL - инъекции

  Ответить  
 
 автор: cheops   (27.01.2012 в 13:25)   письмо автору
 
   для: iMozgoloMchik   (27.01.2012 в 13:04)
 

Элемент id имеет тип INT? Если да, то перед формированием запроса достаточно пропустить его через функцию intval().
<?php
  $_GET
['article'] = intval($_GET['article']);
?>

  Ответить  
 
 автор: iMozgoloMchik   (27.01.2012 в 13:30)   письмо автору
 
   для: cheops   (27.01.2012 в 13:25)
 

а если мне потом придется еще использовать строку?
то как быть?

  Ответить  
 
 автор: cheops   (27.01.2012 в 13:30)   письмо автору
 
   для: iMozgoloMchik   (27.01.2012 в 13:30)
 

Какая строка имеется в виду?

  Ответить  
 
 автор: iMozgoloMchik   (27.01.2012 в 13:37)   письмо автору
 
   для: cheops   (27.01.2012 в 13:30)
 

 <a href = 'coment?article=strstrstrstr>strstrstr</a>'

что то вроде этого
strstrstr это название чего либо, таблицы или условие WHERE

  Ответить  
 
 автор: cheops   (27.01.2012 в 13:53)   письмо автору
 
   для: iMozgoloMchik   (27.01.2012 в 13:37)
 

Правильно ли я понимаю, что у вас "$1 - id элемента в БД" это не целое число, а строка?

  Ответить  
 
 автор: iMozgoloMchik   (27.01.2012 в 16:21)   письмо автору
 
   для: cheops   (27.01.2012 в 13:53)
 

да, с числом то понятно , а вот второй случай : когда вместо чиста строчный тип данных, например названия Таблицы в БД,
вот что я имею ввиду

  Ответить  
 
 автор: tAleks   (27.01.2012 в 16:33)   письмо автору
 
   для: iMozgoloMchik   (27.01.2012 в 16:21)
 

mysq_real_escape_string()

  Ответить  
 
 автор: cheops   (27.01.2012 в 17:33)   письмо автору
 
   для: iMozgoloMchik   (27.01.2012 в 16:21)
 

Если включен режим магических кавычек, можно не беспокоиться, если не включен, следует использовать функцию mysq_real_escape_string(), как указал выше tAleks.

  Ответить  
 
 автор: deimand   (27.01.2012 в 18:04)   письмо автору
 
   для: iMozgoloMchik   (27.01.2012 в 13:04)
 

http://softtime.ru/forum/read.php?id_forum=3&id_theme=83821&page=1

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования