有关使用朋友请求系统屏蔽user_id的任何提示?

时间:2013-11-03 13:23:41

标签: php encryption

我有一个简单的朋友请求系统,其中用户点击包含目标用户的user_id的按钮,该id被传递给在DB中创建请求行的函数。

我不希望用户能够以朋友的身份请求任何user_id,只是我建议的那些。

因此我需要一种方法来屏蔽user_id,以便恶意用户不会开始插入数字并使用自动工具发送请求。

我想到了一个简单的乘法系统。所以我取user_id * really_long_number而不是请求函数,我除以相同的数字。恶意用户不知道此really_long_number的值,因此不知道user_id。

所以如果:

user_id = 1
really_long_number = 12345678
key = 12345678

但我认为这种策略不是最好的,通过查看系统生成的足够数字可以很容易地推断出来。

你有什么建议?

1 个答案:

答案 0 :(得分:0)

您想拥有的是每个用户不可猜测的uniq密钥,然后将其传递给您的按钮而不是用户ID。您可以在用户表中添加一个字段,例如myuniqkey,在创建用户时会填充类似的字段:

hash('sha512', uniqid().'myappsecretpass');