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

Форум PHP

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

 

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

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

тема: Безопасность: функции escapeshellcmd и mysql_escape_string
 
 автор: Владимир22   (23.05.2006 в 15:38)   письмо автору
 
 

Пожалуйста, поделитесь информацией, кто в курсе,
для каких целей и в каких случаях надо применять функции
escapeshellcmd и mysql_escape_string
В чём между ними разница?

   
 
 автор: Artem S.   (23.05.2006 в 16:37)   письмо автору
 
   для: Владимир22   (23.05.2006 в 15:38)
 

escapeshellcmd - "эскапит" строку для запуска в системе.
mysql_escape_string - "эскапит" строку для выполнения в mysql

Разница в том что для командной строки и для mysql разные системные символы, и следовательно надо по разному их обрабатывать.

   
 
 автор: DDK   (23.05.2006 в 16:42)   письмо автору
 
   для: Artem S.   (23.05.2006 в 16:37)
 

+ mysql_escape_string() - синоним addslashes() =)

   
 
 автор: Trianon   (23.05.2006 в 17:00)   письмо автору
 
   для: DDK   (23.05.2006 в 16:42)
 

Несовсем.
Поведение mysql_escape_string() не зависит от состояния magic_quotes_sybase, и поэтому предпочтительно. При однобайтовых кодировках соединения с MySQL.
При utf предпочтительно mysql_real_escape_string()

   
 
 автор: Владимир22   (23.05.2006 в 18:23)   письмо автору
 
   для: Trianon   (23.05.2006 в 17:00)
 

Так когда желательно применять первую или вторую?

   
 
 автор: Trianon   (23.05.2006 в 18:29)   письмо автору
 
   для: Владимир22   (23.05.2006 в 18:23)
 

mysql_escape_string() - для обработки любого литерального параметра в запросе MySQL перед обрамлением его в апострофы.
Касательно escapeshellcmd и escapeshellarg я Вам мало что подскажу.
Видимо, при работе с функциями system(), exec(), с выражением в обратных косых кавычках (подстановка результата выполнения команды) и т.п.

   
Rambler's Top100
вверх

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