前两天遇到一个判断URL点击唯一的判断,现在贴出我自己的处理方法:
要判断URL是否被点击过,网上流传的大部分方法是根据Session进行判断,我想了一个可以简单处理的方法。
所用:数据库+IP限制+服务器时间+一个供随机的字符串数组array+时间有效性
思路:
1.得到服务器时间,将服务器以单个字符的方式存入到一个数据arr1;
2.得到数组长度len,一般服务器时间长度是10,我们再从array中随机len个字符串,接着存入数组arr1;
3.将数组arr1的顺序打乱,记录下数组的打乱顺序,将顺序存入到另外一个记录的数组temp中,将打乱后的数组存入arr2
4.将temp以一定的方式加密(每个人想出的方法肯定会不同的)
最后将arr2和temp传过去
再在页面中获得参数解码。
后期处理以及说明:限制IP只能点击一次,有用户的话判断用户只能点击一次,将arr2拆开,将服务器时间拼凑起来强转成时间,和当前时间进行判断时间差,由此判断是否失效,传过来的时间作为key1;
将获得的数据中的其余字符串看是不是在array中,并将其拼接记录到数据库;
这样就差不多可以限制普通的用户了,最起码没有一些专业知识是分析不出来的。
后续:前几天重看密码学的一点东西,上面写道:密码最忌讳的就是有序,我想上面的虽然谈不上密码,但是还是有序列的,呵呵~就当作简单处理吧