0

我有三个页面:

index.html
getjavascript.php?id=index
index.js

index.html 包含脚本

'getjavascript.php?id=index'

getjavascript 动态获取脚本 index.js。

有什么办法可以防止外部用户直接访问

getjavascript.php 

使用 PHP?

index.js 位于隐藏位置。

谢谢,

4

4 回答 4

3

我假设 index.html 包含一个类似于下面的片段的包含(假设我们正在做这个 javascript 的客户端拉)。

<script type="text/JavaScript" src="getjavascript.php?id=index" />

如果您的意图是在 javascript 文件中隐藏秘密,则无法阻止用户检索内容。他们可以轻松地使用开发人员工具来查看内容。此外,由于浏览器需要下载文件,因此没有办法区分直接访问的用户和检索此文件的浏览器。

如果您的意图是混淆您的服务器正在使用 PHP 的事实,您可以使用mod_rewrite删除扩展。

服务器端包含是一个不同的故事,修改.htaccess或移动这个文件到你的 webroot 目录之外是可行的。

于 2012-04-21T04:50:12.613 回答
0

可以通过使用 htaccess 来实现。

重定向/getjavascript.php http://example.com/newdirectory/

于 2012-04-21T04:45:57.970 回答
0

现在我看到了两种解决您问题的方法

  1. 使用 Apache RewriteRule 指令。这种方式将允许您在 html 文件中隐藏真实的 URL 名称
  2. 尝试在 getjavascript.php 中使用附加参数来检测此 url 是否直接从浏览器调用(而不是从 html 表单或链接)。
于 2012-04-21T04:47:56.423 回答
-1

将包含脚本放在文档根目录之外。例如,如果您的根目录位于public_html,则在外部创建一个文件夹public_html以将包含的文件放入其中。这样,您的脚本可以读取它们,但互联网上的随机人不能。

于 2012-04-21T04:48:47.193 回答