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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: безопасность запрсов к базе данных

Сообщения:  [1-6] 

 
 автор: cheops   (27.08.2007 в 11:58)   письмо автору
 
   для: гость 007   (27.08.2007 в 09:59)
 

В обратные кавычки следует помещать имена столбцов, таблиц и баз данных
<?php  
  $name 
=  $_POST['name'];  
  
$sql "SELECT * FROM `names` WHERE name ='".$name."'";  
  
$result mysql_query($sql);  
?>

Данные поступающие из вне следует обрабатывать в зависимости от того, включен режим магических кавычек или нет (определяется при помощи функции get_magic_quotes_gpc())
<?php  
  
if (!get_magic_quotes_gpc())
  {
    
$name mysql_escape_string($_POST['name']);
  }
  
$sql "SELECT * FROM `names` WHERE `name` ='".$name."'";  
  
$result mysql_query($sql);  
?>

   
 
 автор: гость 007   (27.08.2007 в 09:59)
 
   для: bronenos   (25.08.2007 в 23:53)
 

извеняюсь за оффтоп и ламерство, но появился такой вопрос:
как происходит SQL-инекция?? из-за необработанных одинарных ковычек? ' ' '
а если я $name помещаю в обратные ковычки??`````
addslashes() тут не поможет...

<?php 
$name 
=  $_POST['name']; 
$sql "SELECT * FROM names WHERE name =`".$name."`"
$result mysql_query($sql); 
?>

   
 
 автор: bronenos   (25.08.2007 в 23:53)   письмо автору
 
   для: deman-b   (25.08.2007 в 22:49)
 

я собсна это и написал...

   
 
 автор: deman-b   (25.08.2007 в 22:49)   письмо автору
 
   для: bronenos   (25.08.2007 в 22:01)
 

тогда при записи в БД, как для безпасности обработать строку?

   
 
 автор: bronenos   (25.08.2007 в 22:01)   письмо автору
 
   для: deman-b   (25.08.2007 в 21:15)
 

стоит на mysql_escape_string пропускать, если mqgic quotes off

   
 
 автор: deman-b   (25.08.2007 в 21:15)   письмо автору
 
 

стоит ли проверять переменные полученые от пользователя при запросе к БД на чтение?
например SELECT запрос:

<?php
$name 
=  $_POST['name'];
$sql "SELECT * FROM names WHERE name ='".$name."'";
$result mysql_query($sql);
?>

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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