如何防止客户端数据被篡改伪造? ip位置本来就不准确,人为更改ip地址也很容易实现,防更改意义不大 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现在需要获取客户端的经纬度,这个在html5浏览器是可以用js实现的我的做法是通过js获取到经纬度,然后保存在hidden,最后传入服务端保存现在的问题是,如何防止这个经纬度被恶意修改。再次强调,现在想求教的是如何防止js获取的经纬度(hidden值)被改,而不讨论这个经纬度是否准确,或者这个经纬度在获取之前就已经被恶意模拟或修改的情况。之前发帖请教,一些回复提到用密匙、MD5,这个原理我也懂,就是把数据和密匙组合,再MD5,再和明文数据一起传到服务端进行对比。但是现在的情况是原始数据是客户端生成的,如果要进行加密,始终有一个将客户端数据传入服务端的过程。如果这个时候已经被恶意改了,加密又有什么意义呢。望指点迷津! 首先你这是服务端获取客户端的数据,那么要保证数据不被篡改,就得从数据的产生与提交入手首先数据的产生是手机硬件生产的,然后浏览器获取,再到js获取,再到提交其实这些过程的最高权限都是客户,因而数据都是可以伪造的,只是伪造的难度不一样而已。这些环节中较容易伪造的是js获取到提交过程,因为最高权限都是客户,所以是没有办法完全避免伪造的,那么就只能增加别人理解的复杂度,让别人即使知道你的这部分代码是在获取经纬度并提交,但也不能轻易模仿出来首先要对数据进行变换,防止人家直接拦截客户端提交的数据,从而模仿伪造变换后的数据只有你知道怎么理解,人家即使拿到也没办法轻易修改,人家要修改,只能从变换过程入手,那么你还要对对获取、变换、提交的代码进行混淆,让别人很难知道你是怎么处理的。这样别人篡改的难道就大大增加,但还是那句话,所有的这些,最高权限都在客户,人家花大精力还是有可能篡改的。 客户端没法预防,只能是你验证一下数据的合法性是否在可接受范围你的问题就像 如果防止客户端修改cookie一样 能预防吗? 我访问央视的时候是这样提交数据的——32位的系统、64位的浏览器、语言为日语、用出口为法国的代理连接、并且过滤它们发过来的cookies…… 呃。我的意思是有没办法防止被恶意修改,非人为原因造成的不准确甚至巨大误差,可以接受,但必须防止而已改动,有可能吗?看来我的理解能力真的很有问题。看标题“如何防止客户端数据被篡改伪造?”我对你想要做的功能的理解1 防止用户使用虚假IP?(PHP识别是否使用了代理IP或者非正常机器访问) 2 必须限定使用浏览器才可以访问(用JS解决)如果不是这两种,那么超出了PHP的解决范围。 新手求解include_path问题? 求个正则,冰天雪地裸身跪求,急用 要重装系统,如何还原phpmyadmin建的表格数据? php论坛问题 discuz计划任务的执行,是用户触发的吗? syre(神仙) FastTemplate 表格问题请高手帮忙,急用!!! 请教怎样写正则表达式 PHP连接oracle的问题,请大家指点一下?叩首!请斑竹大人看看! apache+php的安装问题 大神们,帮忙看一下这个代码 用php gzip压缩js 出现问题
我的做法是通过js获取到经纬度,然后保存在hidden,最后传入服务端保存现在的问题是,如何防止这个经纬度被恶意修改。再次强调,现在想求教的是如何防止js获取的经纬度(hidden值)被改,而不讨论这个经纬度是否准确,或者这个经纬度在获取之前就已经被恶意模拟或修改的情况。之前发帖请教,一些回复提到用密匙、MD5,这个原理我也懂,就是把数据和密匙组合,再MD5,再和明文数据一起传到服务端进行对比。但是现在的情况是原始数据是客户端生成的,如果要进行加密,始终有一个将客户端数据传入服务端的过程。如果这个时候已经被恶意改了,加密又有什么意义呢。望指点迷津!
你的问题就像 如果防止客户端修改cookie一样 能预防吗?
呃。我的意思是有没办法防止被恶意修改,非人为原因造成的不准确甚至巨大误差,可以接受,但必须防止而已改动,有可能吗?看来我的理解能力真的很有问题。看标题“如何防止客户端数据被篡改伪造?”
我对你想要做的功能的理解
1 防止用户使用虚假IP?(PHP识别是否使用了代理IP或者非正常机器访问)
2 必须限定使用浏览器才可以访问(用JS解决)
如果不是这两种,那么超出了PHP的解决范围。