Я знаю, что вы вылечиваете все с помощью mysql_real_escape_string()
(и с htmlspecialchars()
), но я хочу знать символы, которые вызывают весь этот беспорядок, от которого все хотят избавиться?
Дело в том, что нам пришлось перенести не созданный нами веб-сайт с одного хоста на другой.
Он был закодирован с нуля, чтобы использовать php
, который сейчас устарел и никогда не любил - magic_quotes
.
После смены хоста также произошли php.ini
изменения, мы столкнулись с множеством неожиданных результатов. У нас нет доступа к php.ini
, нет user.ini
(5.2.x), и хост недостаточно отзывчив, чтобы предоставить нам некоторые дополнительные функции. Здесь, в Латвии, есть проблема с хостингом, главная из которых
Но да, это уже не по теме. Я просто хочу знать, какие символы те, которые без экранирования , без магических кавычек и без защиты могут вызвать весь этот беспорядок ?
Кроме того, произошла ошибка, когда текст содержал что-то вроде - /ls
, что напоминает команду вывода каталога UNIX (хост-ОС) - Метод не реализован.
И похоже, что веб-сайт взаимодействует с базой данных в среде CLI, поэтому проблема /ls
. И я хочу подтвердить, что всякий раз, когда вы вводите значение, которое начинается с /
и следует команде UNIX, возникает ошибка «Метод не реализован».
P.S. Я не ищу решение, я уже исправил ошибку. Просто хочу знать символы.
Обновление для уточнения
1) На момент написания вопроса я звонил CLI
, что выглядит как socket
call- unix-domain
/ TCP
. Живи и учись!
2) Если вы прочитаете вопрос полностью, вы увидите, что я исправляю ошибки / дыры, оставленные другими разработчиками. Так как мы взяли на себя ИТ-обслуживание клиентов, они хотели, чтобы мы взяли на себя и их сайт.
3) Поскольку они заплатили много денег за текущий веб-сайт, они не хотят платить еще больше за новый в новой, более совершенной системе.
4) Строка подключения внутри сценариев - $this->db = DB::connect('mysql://'._DB_USER.':'._DB_PASS.'@'._DB_HOST.'/'._DB_NAME.'');
- unix-domain
Я думаю.