我有一个从3个不同页面调用的函数。在每个页面中,我将attr添加到一个div。
例如:
<div id="posts" page="home"></div>
<div id="posts" page="feed"></div>
<div id="posts" page="search"></div>
在Java脚本中,我获取页面的值,然后将其传递给我有if
,elseif
和else
州议员的PHP文件。
为了更加安全,我认为如果在PHP文件中AJAX加载以获取调用脚本的url会更好,因为使用google调试工具可以改变attr。
<?php
if($page =='home' && $sourceUrl == 'the home url' )
{
// do this
}
elseif($page =='feed' && $sourceUrl == 'the feed url')
{
// do this
}
elseif($page =='search' && $sourceUrl == 'the search url')
{
// do this
}
else
{
exit();
}
?>
答案 0 :(得分:0)
无论如何你使用javascript完全不会安全,正确的方法是不要担心发送到服务器的内容,因为serverside脚本验证来自用户的所有输入,而不是其他方式围绕!
只需检查PHP脚本中的某些值,如果收到其他内容,则终止Ajax调用,这是简单而安全的(至少在某种程度上)解决方案。
为了避免使用XSS,您可以生成随机字符串,该字符串在PHP的每个页面加载时插入HTML中,当然必须是随机的。每次调用ajax都会发送该字符串,以避免有人从其他地方向您的脚本发送ajax调用。