Ich bin ein Neuling und als ich heute Code schrieb, ist mir plötzlich ein Sicherheitsproblem aufgefallen.
Können Hacker bei verschiedenen Ajax-Anfragen Code extern einreichen? Weil der JS-Dateibrowser es sehen kann, das heißt, er kann Ihren Code kennen. Wenn also ein Hacker unseren Domainnamen verwendet, um ihn extern zu übermitteln, kann PHP dann feststellen, ob er legal ist? Stellen Sie beispielsweise fest, ob unsere eigenen Dateien übermittelt wurden.
Zum Beispiel hat meine js-Datei einen Code
$('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
Wie soll ich ihn in PHP schreiben, um das zu verhindern?
CSRF了解下?
外部提交是正常的,需要通过程序来阻止注入。
按照你这样的说法的话,外面ajax模拟提交过来的数据就属于是跨域了。
这个你有多个方式去处理。比如:
1、可以设定访问权限,比如说只有登录会员才可查看或者是限定域名,这样会给别人的抓取造成一定难度。但这个障碍总能被解决的。
2、用session生成令牌,提交之后验证session,合法则马上注销这个session,确保每次都有一个新的令牌。
3、分析访问日志,从服务器级别限制可疑IP访问。
4、记录每个IP的操作密度,较频繁的可不定时要求输入验证码。
........
会有很多种方法,但没有哪种说是最好的,建议多管齐下。望采纳~