【发布时间】:2016-10-09 16:10:41
【问题描述】:
我有一个JS函数可以删除用户自己的帖子。
Function delete(post_id)
{
//Here comes AJAX call to delete.php file
// In delete.php file i have a query to delete the post from DB using that
post_id parameter.
}
我的问题是:
通过inspect元素,用户可以改变函数post_id的值,那么如何防止它被改变呢?
如果不能阻止意味着,我如何保留我的旧值本身,即无论用户更改什么,都不应该影响原始函数 post_id 值。
例如:
用户发布了 2 个 post_id 分别为 1 和 2 的帖子。
如果用户想删除第二个帖子,他可以使用第二个帖子的删除按钮删除该帖子。
功能如下:
Function delete(2) //post_id is 2
{
//AJAX call to delete.php
}
如何防止用户将post_id in function改为1?
如果无法阻止,我该如何阻止将更改后的 post_id 传递给 delete.php
删除.php:
"DELETE FROM `posts` WHERE `postid`='$_POST[post_id]' and user_id='$_SESSION[id]'";
【问题讨论】:
-
实现一个服务器端逻辑,应该删除只属于当前登录用户的
post-id!最终用户永远无法访问服务器端代码... -
@Rayon,是的,我有那个“从
posts删除id='$_POST[post_id]' and user_id='$_SESSION[id]'”; -
那就不用担心最终用户会做什么......
-
我的问题是,如果他们更改属于他们的 post_id 意味着该帖子将被删除对吗?这就是我的查询。
-
会有什么危害?
标签: javascript php mysql ajax web-inspector