如何避免用户更改控制台中的值。例如,我的链接是:
example.com/delete.php?id=8
。当我打开我的控制台并将8更改为10时,将删除第10行。
我该如何避免这种情况?或者通过哪种方式我可以代替URL?
答案 0 :(得分:0)
您可以使用<form method=post action=delete.php ><button type=submit value=8 name=id>delete</button></form>
,然后在PHP中使用$_POST['id']
代替$_GET['id']
。
您还可以使用$_SESSION
来查看用户是否已登录以及是否允许他删除该ID;例如,在递送页面时设置为$_SESSION['allow_id'] = 8
,然后在PHP端,您可以执行以下操作:
if ((!empty($_SESSION['allow_id'])) && (!empty($_POST)) && ($_SESSION['allow_id'] == $_POST['id'])) { // allow the deletion } else { // don't allow }
答案 1 :(得分:0)
应用程序的安全性绝不能只在客户端。
您必须始终考虑在客户端调用的URI不仅可以通过表单调用。
如果您的界面提供了一个简短的选项列表,那么Web服务或服务器脚本必须在任何其他处理之前检查相同的简化选项列表。