ari*_*iel 5 php security validation
我使用下面的代码来控制分页.它正在使用,$_SERVER['PHP_SELF']所以我想知道它是否以这种方式安全,或者我需要做些什么来$_SERVER['PHP_SELF']保证安全?
<?php
if($rows > 10) {
echo '<a id=nex href="'.$_SERVER['PHP_SELF'].'?pg='.($startrow+10).'">
Next</a>';
}
$prev = $startrow - 10;
if ($prev >= 0) {
echo '<a id=pex href="'.$_SERVER['PHP_SELF'].'?pg='.$prev.'">
Previous</a>';
}
?>
Run Code Online (Sandbox Code Playgroud)
您应该使用filter_input:http://php.net/filter_input
$phpSelf = filter_input(INPUT_SERVER, 'PHP_SELF', FILTER_SANITIZE_URL);
Run Code Online (Sandbox Code Playgroud)
然后使用$phpSelf而不是$_SERVER['PHP_SELF'].
这比htmlspecialchars使用http://htmlpurifier.org/这样的工具更好,但理想的解决方案是