我正在开发一个简单的Web应用程序,用户可以在其中单击编辑链接来编辑其帖子。
当用户单击位于同一页面上的编辑帖子链接,然后重定向到editpost.php?edit = 4时,用户位于profile.php中,其中id为4的帖子允许用户进行编辑。
问题:当用户通过将其编辑为editpost.php来弄乱网址时,那么如何不允许用户编辑editpost.php 只需由用户在地址栏中输入
答案 0 :(得分:0)
这些是我认为可以用来改善网页的最简单的事情:
授权::在脚本开头检查用户权限。用户将无法编辑没有编辑权限的帖子。
唯一随机ID:您可以在数据库中创建另一个字符串列,并为每个字符串分配一个随机唯一ID,而不是显示自动递增ID(这很容易猜到)发布。在您的脚本中,基于该唯一列而不是主id列查询数据库。如果用户在edit.php?uid=abz-723-random
上,则他/她将无法猜测下一个可用ID。
也可以使用某些类型的令牌。但是,使用令牌会阻止用户轻松刷新页面/共享页面。如果您没有使用令牌的经验,建议您不要使用它们。
答案 1 :(得分:-1)
首先更改您的“编辑帖子”网址
editpost.php?=edit=4
到
editpost.php?edit=4
然后使用Get方法获取编辑帖子ID或编号,例如
$editpostid=$_GET['edit'];
之后,以条件其中id ='$ editpostid'运行mysqli查询 。让我知道你是否不理解