Javascript 如何在PHP数据库中为更新行添加安全性
比如在我的ajax请求页面中,我从数据库中提取了一行结果,如下所示:Javascript 如何在PHP数据库中为更新行添加安全性,javascript,php,mysql,ajax,security,Javascript,Php,Mysql,Ajax,Security,比如在我的ajax请求页面中,我从数据库中提取了一行结果,如下所示: while ($stmt->fetch()) { echo "<p value='".$taskId."' class='titleRsltTask'>".$taskTitle."</p><br>"; } 它使用值$taskId在updateTask.inc.php中查找要更新的行 我可以通过哪些方法验证用户正在更新的行是否属于他们,以便他们无法通过更改inspect元素中的
while ($stmt->fetch()) {
echo "<p value='".$taskId."' class='titleRsltTask'>".$taskTitle."</p><br>";
}
它使用值$taskId
在updateTask.inc.php
中查找要更新的行
我对授权、身份验证和加密做了一些研究,但仍然不确定在这种情况下该怎么办。我确实理解您对安全性的担忧,因为返回的值是自动递增的数字 使用ssl不会对这些东西进行加密或提供任何安全性
谢谢您应该重新考虑您的表格结构。如果用户只能更改某一行,则在每一行上包括可以编辑该行的用户ID,对请求使用身份验证(通过包括会话cookie等),并将该逻辑添加到
UPDATE
命令中。如果一组用户可以更改某些行,则会有一个额外的列指定组ID/权限,并确保每个用户都设置了权限级别。如果用户对某个问题投了否决票,建议他们写一个原因,以便改进该问题-我希望其他用户注意此评论@MichaelW44您可以改进您的问题,但要使其更清楚。这个问题非常模糊,实际上可以给出一个很好的安全建议。我只能说,您需要实现身份验证,以验证正确的用户正在更新自己的行。SSL将阻止第三方截取数据。实际上,我的表结构已设置为从用户最初插入任务时起每行的用户ID。如果我答对了,您是说从正在更新的行中查询出用户ID,检查它是否与会话变量中的用户ID匹配,如果匹配,然后对该行执行update命令?希望我的措辞或多或少是正确的,是的-如果您只希望该用户能够编辑该行,那么您需要以某种方式将信息发送到服务器,或者以其他方式发送给该用户。发送用户ID是不安全的,因为任何人都可以对其进行编辑,所以您应该通过使用会话来验证该用户就是该用户。有道理,我将进一步研究加密。谢谢你的帮助
$(document).ready(function(){
$('.titleRsltTask').click(function(){
id = $(this).attr('value');
$('#taskResults').load('Includes/updateTask.inc.php', {
Id: id
});
});