限制用户输入php url的过程

时间:2014-10-03 16:55:03

标签: php

我有一个数据库,您可以通过以下获取请求URL加载候选人的详细信息:database/candidates/?loadcandidate=n其中n是要加载的候选者的ID。

是否有一种常见做法,您可以在get请求中添加一些内容,这会阻止我的用户输入任何ID来访问候选人的详细信息?我希望他们只能从我的搜索结果中访问候选页面,或者将候选页面加入书签并稍后重新访问。

我可能想出了我自己的古怪的做法,但我想知道是否有一个共同的程序?

1 个答案:

答案 0 :(得分:1)

获取请求是获取请求,您无法阻止用户更改获取请求变量。

但是,在这两行之间进行阅读,我认为您正在寻找的解决方案是混淆(隐藏/隐藏用户标识的预期含义),以便通过逐步更改ID可以明显地访问它,(例如,?loadcandidate = 1/2/3/4/5/6 ......)。

在这种情况下,尝试分配用户代码,以便通过猜测ID来提取候选人更加困难。

就像一个简单的例子(绝不应该用于制作)尝试简单的MD5哈希并得到前6位数的子串。

示例:

1 = c4ca42
2 = c81e72
3 = eccbc8
...

database/candidates/?loadcandidate=c4ca42 will pull up candidate with user id = 1.

因此,当您访问数据库/候选/?loadcandidate = n时,n将更难以猜测,从而以指数方式减少随机查找的数量。当然,这将取决于随机混淆/代码的实际情况。

希望这有帮助!