我目前正在开发一个系统,如果用户登录并且他们查看由他们创建的页面,他们可以编辑或删除它。页面内容由$_GET
变量确定。我计划在对该页面的实际数据做任何事情之前,检查该变量并检查用户是否在后端拥有它。
如果有人更改了网址中的$_GET
变量,我的担忧是什么? php如何使用$_GET
变量?它们是在页面运行时定义的,还是用户可以在页面上更改一次该变量并修改另一页面的内容?
对此的任何帮助都会很棒。目前我如何设置它不应该做太大的工作,但我只是想确保我不会遇到重大的安全问题。感谢。
答案 0 :(得分:1)
只需检查GET数组是否已设置并且特定于某个特定内容,或者已经在数组中。
即:
if(isset($_GET['var']) && $_GET['var'] == 'xyz')
在数组示例中:
<?php
$array= array ('abc','def','ghi');
if (isset($_GET['var'])){
if (in_array($_GET['var'], $array)) {
echo "Do something";
}
else {
echo "Do something else";
}
}
?>
<a href="file.php?var=abc">Click</a> Allowed
如果有人试图修改它file.php?var=abcd
,它将转到“做其他事情”,因为它不是数组的一部分。
参考文献: