当有人试图访问特定页面时,如何生成403错误

时间:2013-06-01 16:46:28

标签: http

我可能在这里完全咆哮错误的树,但我想要做的是保护我的.js页面,让他们返回403 Forbidden http错误状态页面,如果有人试图通过http直接访问它们。我使用它们来支持我的index.html页面,但希望它们保持隐藏状态。

我ISP的服务台人员基本上说他们不知道是否可能,但可能是你可以用web.config文件做的事情(这不是我以前用过的)。

任何帮助都会感激不尽 - 我有点不在我的舒适区域

2 个答案:

答案 0 :(得分:1)

在php中你可以这样做:

header("HTTP/1.0 403 Forbidden");

答案 1 :(得分:1)

  

如果有人试图通过http直接访问它们,我希望通过让他们返回403 Forbidden http错误状态页面来保护我的.js页面。

请注意,如果您包含某些资源,例如通过HTML中的<script> - 标记或通过<img> - 标记添加图像的脚本,则浏览器只会运行其他HTTP请求获取该资源。整个通信已经通过HTTP发生。

虽然浏览器可能在请求其他资源(如Referer-header)时在其HTTP请求中包含其他详细信息,但绝对不需要这样做。因此,如果您注意Referer-header,请注意您可以锁定其他有效客户端,这些客户端不会在请求中发送Referer-header。

另请注意,这不会给您任何保护。可以在请求时简单地构造HTTP头,因此服务器允许的“伪造”请求(因为它认为它们是正确的)根本不是问题。即便没有;您告诉客户使用的每个资源都可以由客户端下载。之后,客户可以随心所欲地做任何事情。它可以将它们缓存在硬盘上,或者允许用户快速查看它而无需运行其他请求。

因此,如果您希望这样做是为了保护您的代码,那么只需忘记它,并通过不添加非最佳保护使每个人更容易。您放在网上的代码可能难以阅读,但如果您希望用户查看最终结果,那么您也可以在同一步骤中提供代码。