Почему codeigniter и т. Д. Запрещают получать переменные - PullRequest
2 голосов
/ 10 октября 2010

Почему этот codeigniter и, возможно, другие фреймворки mvc запрещают использование переменных get. Это безопасность? Неужели они думают, что это злоупотребляют и злоупотребляют?

Я думаю, что и post, и get имеют свои места и должны использоваться по назначению?

Может ли кто-нибудь предложить мне объяснение?

1 Ответ

3 голосов
/ 10 октября 2010

Обновление:

Вот ответ от CI:

Уничтожает глобальный массив GET.Поскольку CodeIgniter не использует строки GET, нет никаких причин разрешать это.

Уничтожает все глобальные переменные в событии. Register_globals включен.

Фильтрует ключи массива POST / COOKIE, разрешая только буквенно-цифровые (и некоторые другие) символы.

Источник: http://codeigniter.com/user_guide/libraries/input.html

Они, скорее всегозамените его по соображениям безопасности (хотя и не уверены) или в пользу их входной библиотеки, которая позволяет, помимо прочего, предотвращать атаки XSS.

Вы по-прежнему можете обращаться к данным GET и POST через входную библиотеку, например:

$var = $this->input->post('varname', true);
$var = $this->input->get('varname', true);

Аргумент true указывает, хотите ли вы запустить функцию фильтрации XSS для ваших переменных / данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...