0

我有一个从 3 个不同页面调用的函数。在每一页中,我都向一个 div 添加了一个属性。

例如:

<div id="posts" page="home"></div>
<div id="posts" page="feed"></div>
<div id="posts" page="search"></div>

然后在 Java Script 中获取 page 的值,然后将其传递给 PHP 文件,其中我有一个if,elseifelse声明。

为了更安全,我认为最好在 AJAX 加载的 PHP 文件中获取调用脚本的 url,因为使用谷歌调试工具很简单,有人可以更改 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();
   }
?>
4

1 回答 1

0

嗯,嗯,你可以使用 javascript 来获取当前页面地址并发送到你的 PHP 文件,你也可以使用 PHP,但这只会让你得到你的 PHP 脚本的地址。

无论如何,您使用javascript执行此操作根本不安全,正确的方法是不要担心发送到服务器的内容,因为服务器端脚本会验证用户的所有输入,而不是相反!

只需检查 PHP 脚本中的某些值,如果收到其他内容,终止 Ajax 调用,这是简单且安全(至少在某种程度上)的解决方案。

为了避免 XSS,您可以在 PHP 的每个页面加载时生成一个随机字符串,该字符串插入到 HTML 中,当然必须是随机的。在每次 ajax 调用时发送该字符串,以避免有人从其他地方向您的脚本发送 ajax 调用。

于 2012-04-13T12:59:47.253 回答