Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 避免在控制台中更改值_Php_Console - Fatal编程技术网

Php 避免在控制台中更改值

Php 避免在控制台中更改值,php,console,Php,Console,如何避免用户更改控制台中的值。例如,我的链接是: example.com/delete.php?id=8。当我打开控制台,将8改为10时,第10行被删除 我怎样才能避免这种情况?或者我可以用哪种方式来代替URL?您可以使用删除,然后在PHP中,使用$\u POST['id']代替$\u GET['id'] 您还可以使用$\u SESSIONs查看用户是否已登录,以及是否允许他删除该id;例如,在交付页面时,将某些内容设置为$\u SESSION['allow\u id']=8,然后在PHP端,您

如何避免用户更改控制台中的值。例如,我的链接是:
example.com/delete.php?id=8
。当我打开控制台,将8改为10时,第10行被删除

我怎样才能避免这种情况?或者我可以用哪种方式来代替URL?

您可以使用
删除
,然后在PHP中,使用
$\u POST['id']
代替
$\u GET['id']

您还可以使用
$\u SESSION
s查看用户是否已登录,以及是否允许他删除该id;例如,在交付页面时,将某些内容设置为
$\u SESSION['allow\u id']=8
,然后在PHP端,您可以执行以下操作:


如果((!empty($\u SESSION['allow\u id'])&(!empty($\u POST))&($\u SESSION['allow\u id']==$\u POST['id']){//允许删除}或者{//不允许}
应用程序的安全性绝不能仅在客户端

您必须始终考虑调用客户端上的URI不只是通过表单调用。


如果您的界面提供了一个简短的选项列表,则在进行任何其他处理之前,Web服务或服务器脚本必须检查相同的简化选项列表。

我认为您不能“更改”浏览器行为。但我如何避免这种情况?如果用户拥有正确的“特权”,他们可以(我认为)修改id8和id10,因此没有区别。你可以“阻止”一个没有某种权限的用户。你的意思是:你可以阻止一个用户?你能告诉我怎么做吗?当我的链接显示example.com/delete.php?id=8时,我无法再检查8,因为用户在控制台(F12)中将8更改为10,因为它是一个生成的HTML链接。你不能这样做,毕竟你需要用get或post系统“传递”var,然后使用控制台的用户可以更改它。你无法解决这个问题。(据我所知)如果您在客户端的批处理中使用相同的标记,并将任何您想要的作为值?它不能解决安全问题。请编辑答案以说明安全问题谢谢您的回答。最好的方法是什么?你能给我举个例子吗?这取决于上下文和你设计应用程序的时候。例如,如果用户只能删除数据库中的特定项,那么在删除之前,您必须在数据库中检查是否允许用户删除URI中给定的项。您的意思是仅使用控制查询?代码是:if($row['userid']=$\u SESSION['userid']){//delete}else{//you not allowed}?这是一个好方法吗?@DrupalStarter收集到您的数据库行有一个userid字段,它与会话id匹配,那么我想说这就是足够的了这是最简单的方法吗?