Большой текст в MySQL

12
Artlight
На сайте с 15.09.2003
Offline
123
#11

qRoof, а в чем разница между addslashes и mysql_real_escape_string ?

Просто любопытно, вроде mysql_real_escape_string то-же самое делает.

Обменяю свой вмр на ваш яд курс 1-1
B
На сайте с 06.04.2006
Offline
24
#12
bestbetor:
Да подошло, то что надо :)


Всем огромное спасибо за помощь.

Если теперь пишется "О\'Нил", то используйте stripslashes() при выводе.

Мониторинг сайтов (http://hostpulse.ru/), серверов, проверка содержимого страниц.
edogs software
На сайте с 15.12.2005
Offline
775
#13
Artlight:
qRoof, а в чем разница между addslashes и mysql_real_escape_string ?
Просто любопытно, вроде mysql_real_escape_string то-же самое делает.

Для запросов в mysql рекомендуется использовать вторую функцию, почему - описано в комментариях к ней на офф.сайте.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
deleon
На сайте с 16.09.2004
Offline
173
#14
edogs:
Для запросов в mysql рекомендуется использовать вторую функцию, почему - описано в комментариях к ней на офф.сайте.

Поздно набрел на эту тему. Сразу и подумал на апостроф - сам когда-то на таком спотыкался. Теперь все данные в запросы передаю только обработав следующей функцией:


function abi_mysql_text($value)
{
if( get_magic_quotes_gpc())
$value = stripslashes($value);
return mysql_real_escape_string($value);
};
Коля Дубр
На сайте с 02.03.2005
Offline
153
#15
Artlight:
в чем разница между addslashes и mysql_real_escape_string ?

AFAIK, mysql_real_escape_string юзает средства самого MySQL. Касательно addSlashes, могу дать такую (весьма поучительную ;) ) цитату:

If I want to attempt an SQL injection attack ... having single quotes escaped with a backslash is a bummer. If you're using addslashes(), however, I'm in luck. All I need to do is inject something like 0xbf27, and addslashes() modifies this to become 0xbf5c27, a valid multi-byte character followed by a single quote. In other words, I can successfully inject a single quote despite your escaping. That's because 0xbf5c is considered to be a single character, not two. Oops, there goes the backslash.

Это вот отсюда.

Кстати, чтоб проблемы в SQL-запросах не "компостировали мозги" - бывает полезно юзать функцию mysql_error().

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).
to4kaRU
На сайте с 01.09.2005
Offline
14
#16
blaize:
Если теперь пишется "О\'Нил", то используйте stripslashes() при выводе.

В это еще кто-то верит?:)

Заблуждение из второго издания книги Веллинга и Томсон... Стипать при выводе ничего не надо, потому как добавленные слеши в базе не сохраняются.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий