使用isset的风险?

Dav*_*801 3 php sanitization

我是PHP的新手.

我被建议消毒$_GET$_POST.我一直在遵循这个建议.

但是,如果我只想检查变量

if(isset($_GET['login']))
Run Code Online (Sandbox Code Playgroud)

我需要对此进行任何消毒吗?

另外,我需要清理$_SESSION我使用的值吗?

Pas*_*TIN 6

不,你不需要做任何类型的清理或任何事情:isset()将允许你检查变量(或你的情况下的项目数组)是否存在 - 这就是它.

在这里,当您测试项目/变量是否存在时,您无法对其进行清理:要清理数据,您需要它存在.


但请注意:如果该项存在,isset()将返回false,但是null!
在项目的情况下$_GET,很可能不会发生.

  • @ David19801:因为来自$ _GET的每个值都是**字符串**,没有任何例外. (3认同)