Проверка полей формы на добавление несанкционированного кода, как реализовать?

123
P
На сайте с 06.01.2009
Offline
601
#11
HomerJSimspon:

1. mysql_query("SET NAMES utf8"); — сразу после подключения скрипта к БД.

Спасибо. У меня после подключения к бд вот такая запись


mysql_query("SET CHARACTER SET 'utf8'", $db); // приводим в кодировку utf-8
mysql_query("SET NAMES 'utf8'", $db); // приводим в кодировку utf-8
HomerJSimspon
На сайте с 18.09.2012
Offline
2
#12

postavkin, тогда проверяйте дальше. Особенно на пункты 3 и 4 обратите внимание, что я указал выше.

Пишу PHP-скрипты, делаю сайты, интернет-магазины, работаю с joomla, dle, wordpress. () Микро-кредит нннадо (/ru/forum/751204)? ICQ#: 778324.
P
На сайте с 06.01.2009
Offline
601
#13
HomerJSimspon:

2. Когда добавляете в базу, скажем, значение поля field, попробуйте:
$field = iconv('windows-1251', 'UTF-8', $_POST['field']);

Сделал. Проверим на одном поле. Всё равно в таблицу добавляются иероглифы.

Сайт и файлы в кодировке utf-8.

ps Я так понимаю - главная задача сейчас - это сделать так, чтобы в таблицу записи добавлялись читаемыми.

IL
На сайте с 20.04.2007
Offline
435
#14
postavkin:
2. таблица бд - поле "Сравнение" - значение "utf8_general_ci"

У бд, у таблицы - ок. А collation у самих текстовых полей таблицы?

p.s. а запросы "set names" выполняются и при сохранении и при показе формы?

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
P
На сайте с 06.01.2009
Offline
601
#15
ivan-lev:
У бд, у таблицы - ок. А collation у самих текстовых полей таблицы?
p.s. а запросы "set names" выполняются и при сохранении и при показе формы?

вот так сейчас

jpg 115261.jpg
jpg 115262.jpg
P
На сайте с 06.01.2009
Offline
601
#16

и вот что получается после заполнения формы

jpg 115263.jpg
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#17

стоп стоп, выводиться на сайте нормально? phpmyadmin я вижу у вас старый, он может и глючить.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
P
На сайте с 06.01.2009
Offline
601
#18

Всю голову сломал и понять не могу, почему нужно писать после подключения к бд

mysql_query("SET CHARACTER SET 'utf8'", $db); // приводим в кодировку utf-8

mysql_query("SET NAMES 'utf8'", $db); // приводим в кодировку utf-8

если у нас и так всё в utf-8.

bukachuk
На сайте с 07.09.2008
Offline
97
#19

У вас у полей CP1251 в таблице

Программирование PHP,Mysql (/ru/forum/934470)
P
На сайте с 06.01.2009
Offline
601
#20

LEOnidUKG, спасибо.

Я своими кривыми руками (кривые от недостатка знаний) и с вашей помощью сделал что в таблицу из формы данные заносятся читаемыми, в полях формы (если юзер недозаполнил поля) тоже читаемые показывает и в странице вывода контента тоже всё ок. Но столько лишних строк, меня просто убивает эта кодировка.

LEOnidUKG, может стоило всё оставить как было когда то в windows-1251 и не париться? Не вижу преимуществ для себя от utf-8

А то теперь даже чтобы ФИО юзера перевестив заглавные первые буквы вместо простого ucwords приходится писать

$username = mb_convert_case($username, MB_CASE_TITLE, "utf-8");


---------- Добавлено 21.10.2012 в 15:56 ----------

bukachuk:
У вас у полей CP1251 в таблице

Специально некоторые так оставил, чтобы видеть какие норм выводятся какие нет. В итоге - не влияет. Я вообще запутался и нигде материал найти не могу, что в какой кодировке надо оставить. Мне же с полями потом ещё дальше работать нужно - переводить в верхний регистр, удалять символы и т.д.

123

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