大家好,我有一个复选框系统,单击一个按钮,即可检查和删除项目列表。我目前正在使用request,它可以完成工作,但是我想知道$ _REQUEST是某种安全风险还是不正确。如果有人有任何建议,我将不胜感激。我应该更改为$ _POST吗?如果是这样,最好的方法是什么?
foreach ($_REQUEST as $key=>$value) {
if (substr($key,0,3)==="img") {
$id = substr($key,3);
if(isset($_REQUEST['Delete'])) {
$sql = 'SELECT file_name,username FROM images WHERE id=?';
$stmt = $conn->prepare($sql);
$result=$stmt->execute(array($id));
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$image=$row['file_name'];
$user=$row['username'];
$myFile = "$user/images/$image";
unlink($myFile);
}
<input id=\"img".$id."\" name=\"img".$id."\" type=\"checkbox\">
最佳答案
是。您应该将其更改为$ _POST。始终在$ _REQUEST上使用适当的Superglobal。
由于$ _REQUEST中数据组装的顺序,很可能是键值不是您所期望的。这可能导致严重的安全隐患。看到:
What's wrong with using $_REQUEST[]?
关于php - 我应该将$ _REQUEST更改为$ _POST,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2987447/