Приложение работает отлично в течение нескольких месяцев и внезапно (без каких-либо изменений в окружении) в последние несколько дней я начал получать "Запрещенные ключевые символы" в CI. Я прочитал все связанные темы здесь об этой проблеме, и я понимаю, что добавление символа, вызывающего исключение, является ответом на мой вопрос. Однако я не специалист в области безопасности, поэтому я хотел бы посоветоваться с ним с людьми, у которых больше опыта в этом вопросе. В моем случае строка, которая попадает, выглядит следующим образом:
"--------------------------31329b0d7bb66ba6
Content-Disposition: _form-данных; _name"
Поскольку я тщательно проверил, CI не любит здесь 3 персонажа; пространство, полутень и двоеточие. Можно ли добавить их так, как в моем примере:
Кроме того, как возможно, что проблема возникла в последнее время без изменений кода и env?
Обновление 1:
После добавления изменения похоже, что что-то пошло не так. Переменные $ _POST - это не то, что они должны были. Когда я делаю print_r ($ _ POST); Я получаю следующее:
Array
([--------------------------9926a756dcff6e27
Content-Disposition: _form-data; _name] => "tracking_number"
94001102008297123 --------------------------9926a756dcff6e27 Content-Disposition: данные формы; имя = "носитель"
USPS --------------------------9926a756dcff6e27 -
)
Мораль этой истории заключается в том, что кодирование данных на стороне клиента было отправлено в Content-Type: application/x-www-form-urlencoded после vs Content-Type: multipart/form-data
После того, как я изменил кодировку на стороне клиента, мне удалось удалить двоеточие, полуплотность и пространство от функции очистки.