这是我的代码示例:
$('#list').load('/file.php?id=25');
如何阻止其他网站访问并从file.php获取结果?
谢谢
由于同源策略,在另一个域的上下文中服务的JavaScript代码不能访问您的内容。
然而,服务器端脚本总是可以下载网站。你可以这样做:
- 首先不为网站提供服务。我想这不是一个选项
- 要求受信任用户的密码。请注意,这些用户也可以在远程服务器上存储他们的密码。
- 每次访问都需要验证码。这肯定会惹恼你的合法访问者。
- 需要签名的硬/软件。因为现在没有简单的方法来做到这一点,你需要每个访问者安装自定义和/或签名的硬件和软件。这是不可行的。
通过删除file.php
或使用密码保护它。没有其他可靠的方法。如果你有一个可以在网上公开访问的资源,那么它总是有被抓取的风险。
如果您有一个登录系统,在file.php
中启动一个会话,并检查用户是否已登录-会话cookie将在Ajax调用时发送。