为什么最好使用filter_input()?

Ali*_*xel 20 php security filter

这应该是一个基本问题,但为什么更好地使用这样的东西:

$pwd = filter_input(INPUT_POST, 'pwd');
Run Code Online (Sandbox Code Playgroud)

而不仅仅是:

$pwd = $_POST['pwd'];
Run Code Online (Sandbox Code Playgroud)

PS:我知道过滤器扩展可以与更多参数一起使用,以提供额外的清理级别.

var*_*tec 14

不是. $_GET,$_POST,$_COOKIE$_REQUEST过滤的默认筛选器.filter_input(INPUT_POST, 'pwd')没有其他参数也使用默认过滤器.所以没有任何区别.

  • @Charles:在两种情况下,数据都通过默认过滤器.这个默认值现在恰好是"unsafe_raw",但这并没有改变使用`filter_input`而不使用`filter`参数这一事实不会给你任何额外的安全级别. (4认同)