一种简便易行的防止恶意提交数据的手段
一种简单易行的防止恶意提交数据的手段
当闲的蛋疼的程序员想通过自己写代码,伪造客户端应用给服务器提交数据时,可通过下面方法解决: 首先服务端需要接受一条密码,通过这条密码即可知道是恶意提交还是通过客户端应用正常提交; 客户端应用要进行反编译处理,才能保证恶意提交数据! 然后客户端应用就可以生成一条用于验证身份的密码了,具体实现如下: 1. 客户端应用生成一列随机字符串A 2. 客户端应用根据这段字符串A进行多次非可逆加密(可以掺杂可逆加密),得到字符串B 3. 客户端再次对字符串A进行多次可逆加密,得到字符串C 4. 把B和C拼接到一起,得到最终密码D 当服务器端收到密码时,根据约定取出C,然后对其反向解密,从而得到随机字符串A,然后再通过相通加密方式(把A变为B的加密方式)对其加密,得到字符串M, 通过对比M和密码中提取的B对比,若一致则可以认为是客户端应用提交的数据 优点: 由于无法得到明文(字符串A),即使通过抓包也只能得到加密后的密文,从而几乎不能破解加密方式,但可以反复提交这一条抓包得到的密码N,解决方法:可以直接使用当前时间作为被加密的字符串,这样服务端可以得到提交时间,从而可以过滤掉反复发提交的N
by 青春微凉 qq 772478760