2011-06-06 117 views
0

上午在PHP的新手,我看到一些只有index.php显示在浏览器地址路径上的web应用程序,当你把鼠标指针,你会看到,链接显示与一起下一页所需的变量。但是,当你点击链接时,地址栏仍然会显示index.php。如果直接在地址栏中输入变量,则会将您带回主页。避免跨站点脚本

这是如何完成的?

+0

你有一个链接一个链接? – gnur 2011-06-06 10:01:59

+1

你有这样一个页面的例子吗?顺便说一句,这不会像跨站脚本这样的声音(这是一个用户可以输入的安全漏洞,例如当他打开页面时将在另一用户的浏览器中执行的JavaScript代码)。 – 2011-06-06 10:03:42

+1

它通过使用JavaScript来替换所有内容。通常你不应该那样做,而当你这样做时,你应该[采取措施使URL工作](https://github.com/blog/760-the-sree-slider)。链接是网络的基础,你需要为他们工作的网址。 – Quentin 2011-06-06 10:05:01

回答

0

这可以通过检查HTTP Referer头来取得一些成功。

+0

HTTP Referer检查用作CSRF预防令牌的附加内容。阻止XSS良好的过滤(白名单/黑名单)更为常见。 – 2011-06-06 10:11:18

1

这样做的一种常用方法是使用AJAX或JQuery,允许您将来自其他页面的内容放置在主页的元素内,而不会导致浏览器页面刷新,同时仍然在url中具有相同的页面。

1

使用firefox的firebug扩展,在网络选项卡上,您可以检查发送的内容以及服务器的方式。