php得到保护,我真的需要它吗?

php得到保护,我真的需要它吗?,php,Php,我有一个php页面。它通过get接收id的值。2个简单的问题: 1-在我的代码中,这只使用一次。在if语句中,例如: if ($_GET['id']==1){ Things here.... } 这是传递的id值的唯一用途。我是否需要对其进行消毒,还是可以在不检查的情况下将其安全地保留在if语句中?黑客能穿透这个吗 2-如果我将其分配给以下变量,是否需要对其进行清理: $idid=$_GET['id']; if ($idid==1){ Things here... } 与之前一样,这是该变量

我有一个php页面。它通过get接收
id
的值。2个简单的问题:

1-在我的代码中,这只使用一次。在if语句中,例如:

if ($_GET['id']==1){
Things here....
}
这是传递的id值的唯一用途。我是否需要对其进行消毒,还是可以在不检查的情况下将其安全地保留在if语句中?黑客能穿透这个吗

2-如果我将其分配给以下变量,是否需要对其进行清理:

$idid=$_GET['id'];
if ($idid==1){
Things here...
}

与之前一样,这是该变量的唯一用途,它不会在echo或mysql等中使用。

如果将GET值插入到一些可能有害的地方,即
echo
(XSS)、
mysql\u query
(SQL注入)、
eval
(PHP执行)、
shell\u exec
(Shell执行),…(更广泛的列表位于)


仅仅检查一个值并不需要任何卫生条件。

如果GET值被插入到一些可能有害的地方,比如
echo
(XSS)、
mysql\u query
(SQL注入)、
eval
(PHP执行)、
shell\u exec
(shell执行),…(更广泛的列表位于)


只检查一个值不需要任何卫生措施。

不,如果它的值不大于1,则不需要对其进行消毒,因为它不会执行任何操作。

不,如果它的值不大于1,则不需要对其进行消毒。

使用===而不是==来确定条目的类型。 在我看来,你不需要做艰苦的工作来保护输入。
只需确保输入确实是一个数字。

使用===而不是==来确定条目的类型。 在我看来,你不需要做艰苦的工作来保护输入。 只需确保输入是一个真正的数字

我是否需要对其进行消毒,还是可以在不检查的情况下将其安全地保留在if语句中

这取决于您希望达到的质量级别。看起来您访问的
$\u GET
数组是在一个不测试存在性的键上

这可能会触发类似“notice:Undefined index:id”的通知,其中也包含文件名

根据服务器配置的不同,此消息可能会发送给所有请求相关网站但不提供
id
URL查询参数的人

除了提供给潜在攻击者的信息之外,散布通知会使您的整个脚本更难达到一定的质量水平,例如,如果您决定将通知和错误转化为反馈以维护和改进脚本

黑客能穿透这个吗

这些信息可以用来进一步渗透你的网站


从您展示的代码来看,您没有进一步使用变量/值,而且就我所能说的而言,我看不到旁边还有其他问题

它总是取决于你想要实现什么,安全不是静止的。看,和

我是否需要对其进行消毒,还是可以在不检查的情况下将其安全地保留在if语句中

这取决于您希望达到的质量级别。看起来您访问的
$\u GET
数组是在一个不测试存在性的键上

这可能会触发类似“notice:Undefined index:id”的通知,其中也包含文件名

根据服务器配置的不同,此消息可能会发送给所有请求相关网站但不提供
id
URL查询参数的人

除了提供给潜在攻击者的信息之外,散布通知会使您的整个脚本更难达到一定的质量水平,例如,如果您决定将通知和错误转化为反馈以维护和改进脚本

黑客能穿透这个吗

这些信息可以用来进一步渗透你的网站


从您展示的代码来看,您没有进一步使用变量/值,而且就我所能说的而言,我看不到旁边还有其他问题


它始终取决于您想要实现的目标,安全性不是静态的。请参阅,和。

获取值始终是字符串或数组。检查
===1
将始终失败。感谢您提供的有用信息。因此他只需使用intval函数。或者检查
===1'
即可。获取值始终是strings或数组。检查
===1
将始终失败。感谢您提供的有用信息。因此,他只需要使用intval函数。或者检查
==“1”
即可。启用警告:不检查数组的偏移量存在,将显示它。--“插入潜在有害位置的类型”-类别你的答案是什么?@hakre:对不起,我不太明白你想说什么。@hakre:生产服务器上没有启用警告;)此外:如果你得到一个未定义的偏移量xyz警告,为什么会是一个漏洞?@nikic:信息暴露用于渗透。另请参见。@hakre:从URL中找到了一个
id=abc
GET参数这一事实可以很容易地得出结论,这个参数实际上会被使用。无需等待警告。而且,正如我已经说过的,警告不会在生产服务器上打开,永远不会。启用警告:不检查数组的偏移量存在,将显示它。--什么“插入到潜在有害位置的类型”-您的答案属于哪一类?@hakre:对不起,我不太明白您想说什么。@hakre:生产服务器上未启用警告;)此外:如果你得到一个未定义的偏移量xyz警告,为什么它会是一个漏洞?@nikic:信息暴露用于渗透。另请参见。@hakre:从URL中找到一个
id=abc
GET参数这一事实可以很容易得出结论,