2012-01-19 1 views
0

Я использую codeigniter как свою структуру и в верхней части моих контроллеров. Я собираюсь добавить строку кода, которая отправит uri_string (последнюю страницу, которую пользователь запросил) в библиотеку, которая отправит ее в сеанс пользователей и, возможно, в конечном итоге в базу данных.CI uri_string() Требуется подтверждение?

Мой вопрос заключается в том, нужно ли вообще проверять этот uri_string() или он безопасен как есть?

+0

Да, вы должны проверить все. Codeigniter в любом случае будет запрещать докси-символы в URL-адресе, и если вы убедитесь, что используете ActiveRecord, он все равно избегает вещей. Я [опубликовал сегодня ответ, который может быть вам полезен] (http://stackoverflow.com/questions/8937472/creating-back-page-links-in-codeignitor/8941073#8941073) о размещении ранее посещенных страниц в сеансе , –

ответ

0

Следует помнить, что элемент 'permitted_uri_chars' в config.php автоматически запретит любой URL-адрес, содержащий недопустимые символы. Итак, до тех пор, пока вы не изменили это, чтобы включить потенциально вредоносные символы, вы должны быть в порядке. Из комментариев в config.php:

По умолчанию только они разрешены: AZ 0-9 ~.%: _-

Однако as Rooneyl mentions, он бы, наверное, ничего не мешало бы дезинфицировать его так или иначе ,

+0

Я не редактировал разрешенные символы uri по умолчанию, поэтому я думаю, что не собираюсь редактировать ... У меня есть MY_Controller, который Im помещает это в начало, и я думаю, что нет причин запускать другой экземпляр проверки класс при каждой загрузке страницы, если нет необходимости в праве – ngl5000

2

Простой ответ, если есть сомнения, подтвердите его. В течение короткого времени вам потребуется ввести код, и у вас будет спокойствие.

Кроме того, если это произойдет для всех ваших контроллеров, я могу предложить вам либо добавить вызов функции к конструкции каждого контроллера, либо расширить основной контроллер, чтобы включить вызов в его конструкцию.