本人是新手,今天写代码突然想到个安全性问题。
对于ajax的各种请求,黑客是否能通过外部进行代码提交?因为JS文件浏览器都能看到,也就是能知道你的代码,那么如果黑客在外部用我们的域名进行提交,php能否判断是否合法呢?比如判断是否是我们自己的文件提交的?
比如我的js文件有段代码
$('input').click(function(){ $.post('index.php',{a:xx,b:xx},function(a){ xxxxx }) }) 那么如果黑客通过外部提交 xxxxxxxxxxx $('input').click(function(){ xxxxxx $.post('http://www.xxxx.com/index.php',{a:xx,b:xx},function(a){ xxxxx }) xxxxxx }) xxxxxxxxxxx
PHP里面要如何写才能防止呢?
CSRF了解下?
外部提交是正常的,需要通过程序来阻止注入。
按照你这样的说法的话,外面ajax模拟提交过来的数据就属于是跨域了。
这个你有多个方式去处理。比如:
1、可以设定访问权限,比如说只有登录会员才可查看或者是限定域名,这样会给别人的抓取造成一定难度。但这个障碍总能被解决的。
2、用session生成令牌,提交之后验证session,合法则马上注销这个session,确保每次都有一个新的令牌。
3、分析访问日志,从服务器级别限制可疑IP访问。
4、记录每个IP的操作密度,较频繁的可不定时要求输入验证码。
........
会有很多种方法,但没有哪种说是最好的,建议多管齐下。望采纳~