[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_set_charset
Ramzes_Ra
Сегодня на каком-то иностранном сайте наткнулся на мысль, что надо всегда обязательно ставить кодировку с помощью mysql_set_charset(), в особенности, если мы используем защитную функцию mysql_real_escape_string()..
Лично я не использую mysql_set_charset() вообще, хотя mysql_real_escape_string() у меня, естесственно, есть..
Может я что-то не так перевёл, но всё же.. Это обязательно?



Спустя 5 минут, 33 секунды (6.08.2012 - 21:53) Игорь_Vasinsky написал(а):
это совершенно разные функции. глянь в мануал.

Спустя 9 минут, 16 секунд (6.08.2012 - 22:02) Ramzes_Ra написал(а):
Цитата
это совершенно разные функции. глянь в мануал.

да я знаю))))) вопрос в том обязательно ли это вообще.. ну как по мне так нет.. хотя америкосы вечно пишут всякую чушь, которая при работе не попадается..

Спустя 3 минуты, 20 секунд (6.08.2012 - 22:06) Игорь_Vasinsky написал(а):
ты прочитай про эти функции. причём тут америкосы.

мне достаточно mysql_query("SET_NAMES char"); а уж защита-обязательно

Спустя 3 минуты, 25 секунд (6.08.2012 - 22:09) Ramzes_Ra написал(а):
аа ещё нарыл, что в файлы обработчики, которые вызываются скриптами, нужно вписывать такой код
Header("Cache-Control: no-cache, must-revalidate");

Спустя 3 минуты, 40 секунд (6.08.2012 - 22:13) inpost написал(а):
Ramzes_Ra
При чём тут 3 разных функции вообще?

mysql_set_charset - усовершенствованная функция, которая задаёт кодировку соединения с БД. Работает только с пхп 5.3, на более ранних версиях ПХП используют SET NAMES, как показал Игорь.

mysql_real_escape_string - экранизация кавычек, 50% безопасности в работе с БД.

cache-control - задаёт уровень кеширования страницы браузеру. Для каждой страницы необходимо указывать свой уровень кеша, если не хочешь стандартный кеш браузера использовать. Работает не везде и не всегда.

Спустя 3 минуты, 7 секунд (6.08.2012 - 22:16) inpost написал(а):
Забыл добавить, кодировку utf-8 необходимо указывать в 11 местах, что я в своих правилах указал smile.gif

Спустя 14 минут, 31 секунда (6.08.2012 - 22:30) AlmazDelDiablo написал(а):
Цитата (inpost @ 7.08.2012 - 01:16)
Забыл добавить, кодировку utf-8 необходимо указывать в 11 местах, что я в своих правилах указал smile.gif

1. MySQL: character_set_client
2. MySQL: character_set_results
3. MySQL: collation_connection
4. header()
5. <meta>
6. Кодировка документа.

Что еще?

Спустя 4 минуты, 23 секунды (6.08.2012 - 22:35) inpost написал(а):
1. MySQL: character_set_client
2. MySQL: character_set_results
3. MySQL: collation_connection

Это всё не надо потому, что set_charset абсолютно всё заменяет, и его одного достаточно.

Допустим кодировку файла css, отключение БОМ, для mb_ где указание кодировки?! А в htaccess кодировку, в которой отдаёт сервер smile.gif И ещё и ещё smile.gif

Спустя 11 минут, 46 секунд (6.08.2012 - 22:46) Ramzes_Ra написал(а):
Цитата
Забыл добавить, кодировку utf-8 необходимо указывать в 11 местах, что я в своих правилах указал

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

1. про кодировку.. у меня в htaccess AddDefaultCharset UTF-8 и на каждой странице сверху в теге meta... то бишь мне остаётся только добавить к каждому запросу к базе такую вещь mysql_query("SET_NAMES char"); ? И всё, можно больше остальные способы кодировки не делать?

2. Нашёл тут lock.php интересную статейку, в которой показывались ошибки начинашек.. в данном случае, про файл защиты админки - lock.php.. дык вот, даже если я введу php_flag magic_quotes_gpc On, в поле логина 1' union select 1/*', а в поле пароля 1, то он всёравно работает и не пускает чужака.. стоит ли мне его заменить?

а так вообще во многих других темах оч многое узнал..

Спустя 4 минуты, 7 секунд (6.08.2012 - 22:51) inpost написал(а):
Ramzes_Ra
1. Все 11 надо придерживаться, и проблем с кодировкой не будет! smile.gif Выше есть почти все указанные.

2. в пхп 5.4 уже не будет магических кавычек, поэтому выключай их на сервере через htaccess и всё! А безопасность - тут дело тонкое, надо скрипт конкретный разбирать и пробовать системы обхода. Как-то я 3 часа рассказывал человеку о способах взлома и защиты и не успел все темы охватить, а ведь это был один из стандартных моих видео уроков.

Спустя 1 минута, 2 секунды (6.08.2012 - 22:52) Игорь_Vasinsky написал(а):
а кавычки нужно принудительно отключать. mysql_real_escape_string() всё экранирует сама. - а так получиться двойное экранирование 0 т.е. искажение входных данных.

Спустя 2 минуты, 16 секунд (6.08.2012 - 22:54) Ramzes_Ra написал(а):
Цитата
надо скрипт конкретный разбирать и пробовать системы обхода

я так понял, готовых таких скриптов в инете нету? smile.gif

Спустя 2 минуты, 20 секунд (6.08.2012 - 22:56) inpost написал(а):
Есть, но все они кривые. Качественные ты не поймешь, потому что там будет сложное для твоего понимания будет. Поэтому все к этому приходят по статьям в сети и чтению мануала и личной практики, иногда на ошибках других или слушают, как делятся опытом другие smile.gif Вообщем, это надо уметь делать самому, тогда и самому писать такие скрипты, а не искать готовое! Ты же программист, привыкай, что несколько лет не будешь вылазить из чтения мануалов и книжек и советов других программистов... программисты в простом понимании - ботаны! smile.gif

Спустя 5 минут, 39 секунд (6.08.2012 - 23:02) Ramzes_Ra написал(а):
inpost, я вообще врач) сейчас просто отпуск, а так времени нету ни на что это.. а php sql js я очень люблю, я отдыхаю прям с ними :)

так то я многое могу написать, у меня сайт сейчас почти готов, этот форум помог сделать авторизацию, с которой всегда была беда... а также беда остается с защитой админки.. Ну, я как бы свято верю в lock.php, но единственный код, который ООЧЕНЬ тяжело взломать, это что-то вроде

if(isset($a)) {htmlspecialchars(trim(stripslashes(mysql_real_escape_string($a)))) } 

абалдеть пример)))))))

Спустя 1 минута, 36 секунд (6.08.2012 - 23:03) inpost написал(а):
Ramzes_Ra
Его надо выделить и удалить smile.gif Про каждую функцию прочитать и использовать там, где это необходимо! smile.gif

Спустя 2 минуты, 16 секунд (6.08.2012 - 23:06) Ramzes_Ra написал(а):
inpost , та я знаю, так, для примера..
попробую в инете где-нить нарыть сложный код для админки.. думаю, если там в комментах будут хорошие отзывы, то и настраивать особо не придется =)

Спустя 4 минуты, 27 секунд (6.08.2012 - 23:10) Ramzes_Ra написал(а):
аа вот наверное последний вопрос на сегодня.. стоит ли воспользоваться курсами с сайта http://irbis-school.com/lessons ?
они весьма не дорогие.. на сайте столько полезного прочитал, думаю, тема про ajax в этих курсах должна быть изложена максимально и правильно..
Стоит этим заняться?

Спустя 25 минут, 2 секунды (6.08.2012 - 23:35) kamanch написал(а):
И тут все поняли, кто такой на самом деле Ramzes_Ra happy.gif
(шутка)

Спустя 12 часов, 9 минут, 44 секунды (7.08.2012 - 11:45) Ramzes_Ra написал(а):
kamanch, меня только ajax интересует) с ним дырка)
а на вопрос не ответили((

Спустя 3 минуты, 10 секунд (7.08.2012 - 11:48) Игорь_Vasinsky написал(а):
так это другая тема biggrin.gif здесь на неё отвечают)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.