PHP - почему нельзя напрямую обращаться к глобальным массивам (напр. $_SERVER) -- filter_input
Primary tabs
Например, NetBeans выделяет подобное, предупреждая "об опасности":
$domainData = $_SERVER['HTTP_HOST'];
Почему
Дело в том, что, в частности, любой параметр из $_SERVER, начинающийся с "HTTP_" можно подделать на стороне клиента, а потому следует использовать функцию filter_input(), например для случая выше правильно будет написать так:
$domainData = filter_input(INPUT_SERVER, 'HTTP_HOST');
По-хорошему filter_input() следует использовать для любых входных данных - например для получения корневой директории:
$rootPath = filter_input(INPUT_SERVER, 'DOCUMENT_ROOT');
_
- Log in to post comments
- 3819 reads