【发布时间】:2015-03-13 10:15:52
【问题描述】:
我遇到了一个安全漏洞 - 可能的流控制 [严重性 - 低] 使用 Checkmarx 扫描以下 PHP 代码。 使用 IF 或 isset() 时出错
谢谢!!
【问题讨论】:
我遇到了一个安全漏洞 - 可能的流控制 [严重性 - 低] 使用 Checkmarx 扫描以下 PHP 代码。 使用 IF 或 isset() 时出错
谢谢!!
【问题讨论】:
这是因为您依赖 POST 变量的原始值进行流控制(即决定执行哪些代码)。这是一种风险(尽管风险很低),因为攻击者可能会强制您的代码自行决定或以您可能没有预料到的方式执行代码。
如果没有看到这里工作的整个代码,很难知道这是否真的对您来说是个问题,只有您才能确定。这不是你需要改变或修复的东西,只是需要注意的东西。
【讨论】:
在第一个代码中,您需要在访问 $_POST 数据之前检查它是否存在于索引中。
if (empty($_POST['maintDetail']))
return;
$myVar = $_POST['mainDetails'];//safe!
对于您发布的第二个代码块,我不确定。在我看来很好。虽然您应该检查!empty,如果您希望那里有明确的内容,因为在技术上将设置一个空字符串。如果您想了解更多信息,请查看this page。
【讨论】: