如何将URL ID更改为更安全(不可授权)的号码?

时间:2011-07-27 16:52:18

标签: php

只是尝试在我的网站上做一些安全措施,并试图找出将ID保存到另一个号码的最佳途径。

示例:http://localhost/page.php?id=190 TO:http://localhost/page.php?id=2234923498734

4 个答案:

答案 0 :(得分:1)

您可以尝试使用md5($ id),然后将ID的md5存储在数据库中,并根据该值查找记录。

答案 1 :(得分:1)

您正在寻找像md5()这样的哈希函数。 (当然有盐腌) 或者你可以想到任何你喜欢的内射数学函数,让你的真实身份难以猜测......

答案 2 :(得分:0)

如果您需要一种简单的方法来隐藏用户的ID,您还可以使用 base64_encode 功能( base64_decode 是相反的功能用于解码base64编码的东西。)

请注意,base64编码不会使您的数据更加安全,只是模糊不清,以便访问者无法立即读取ID。

答案 3 :(得分:0)

一个简单的按位XOR ,带有 salt ,您可以快速轻松地获得结果(这里的盐是123456789):

php > echo (190 ^ 123456789);
123456939
php > echo (191 ^ 123456789);
123456938
php > echo (192 ^ 123456789);
123456981
php > echo (193 ^ 123456789);
123456980
php > echo (194 ^ 123456789);
123456983

有一个很好的事实,即XOR是一个双射:

123456983 ^ 123456789 = 194

因此,在给定的id上重复使用相同的salt将为您提供真正的id。但正如@mightyuhu所说,问题现在是数学问题,你应该添加“数学”标签以获得更复杂的双射。