我有一张表格,显然每行都有ids。当用户点击一个表格行时,他会被带到一个不同的页面,在那里它显示完整的数据(不同的页面实际上是加载事件之后的同一页面)。什么是最简单的方法来检查表格数据是否已在萤火虫中操作
我正在用jquery拾取click事件,然后将id发送给jquery加载,并加载到数据中。
问题是这样的。如果使用该页面的人安装了萤火虫,他可以操纵桌面上的ID并访问他不应该访问的内容。
所以我不得不编写一个函数来检查该用户可以访问的id。
function checkID($searchColumn,$userColumn,$tablename,$table_id,$user_id)
{
Global $db;
$query = "SELECT `{$userColumn}` FROM $tablename WHERE `{$searchColumn}`=?";
//echo $query;
$stmt = $db->prepare($query);
$stmt->bind_param('i',$table_id);
$stmt->execute();
$stmt->bind_result($myuser_id);
if($stmt->fetch())
{
if($myuser_id==$user_id):
return true;
else:
return false;
endif;
}
}
基本上上述函数根据用户是否可以访问该id给出了true或false。
有没有更好的方法来检查数据是否已经在服务器端的萤火虫中操作?
基本上我想确保发送到服务器的id是表中相同的id,并且没有被萤火虫操纵。即使我的功能有效,我仍然认为可能有一个更简单的解决方案。专业人员做什么?
请注意,浏览器现在有内置的开发工具,所以用户甚至不需要安装Firebug。 –
我同意。 Firebug就是一个例子。我知道那里有其他人,但我使用firefox,所以我知道萤火虫。我正在寻找比我使用的验证ID更简单的方法,并询问专业人员做什么? –
两个注意事项:1. [Firebug将要离开](https://blog.getfirebug.com/2016/06/07/unifying-firebug-firefox-devtools/),所以在某些时候你必须使用内置[Firefox DevTools](https://developer.mozilla.org/en-US/docs/Tools)。 2.我提供了一个答案,尽管我还不清楚桌子的外观如何。 –