2010-05-21 80 views
0

我有一个编辑页面,查看URL中的record_id's ..我不希望用户看到任何记录ID,这样他们就无法用另一个记录替换它并编辑另一个记录....简单的mod_rewrite规则.....?

不管怎么说,我的网址是这样的:

http://www.mywebsite.com/folder/folder_detail_edit.php?recordID=3980 

我想它只是显示:

http://www.mywebsite.com/folder/folder_detail_edit.php 

这可能不管的recordId的???

+0

但是,那么你怎么知道recordID应该是什么?如果你不想让别人编辑另一个ID,你应该进行某种认证。 – 2010-05-21 04:00:59

+0

要知道,无论您使用URL,无论使用哪种HTTP方法或任何您使用的方法,用户总是可以(甚至容易)将记录ID替换为另一个。因此,您__必须在服务器上进行某种身份验证,以检查是否允许用户编辑该记录。 – 2010-05-21 04:15:51

+0

您不应该依赖隐藏ID作为安全机制。您的服务器端代码应该将ID与登录用户进行比较,以确保他们具有访问该记录的正确权限。 – 2010-05-21 04:16:11

回答

0

您应该使用http post方法将此数据发送到服务器,这样,它将不会在url中可见。
看看here

+1

这不会阻止他们取代它,很容易绕过。 – 2010-05-21 04:11:35

0

的中心问题是不是该记录ID是可见的,所以可以更换,但您的应用程序允许用户修改的所有记录。这是一个授权问题。并且隐藏ID不能解决这个问题,因为记录必须以某种方式被识别。

您应该更好地实施一些授权机制,以便您的用户只能访问和修改它们被允许的记录。

+0

很棒的反馈。我将启动注册模块! – eberswine 2010-05-21 19:42:52