我有一个用php和java脚本编写的Web应用程序。 如果有人尝试在浏览器中输入 Java 脚本文件的路径,则会在浏览器中显示完整的 Java 脚本。 例如:http://myserver.com/MyApp/app/view/baseView.js ,这将返回该特定 java 脚本文件的源代码。
我可以限制这个吗?我正在使用Windows IIS 7.5 Web Server。 我尝试在主 web.config 文件中执行此操作:
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="" roles="Administrators" />
</authorization>
</security>
但是此代码阻止了整个应用程序,即使我尝试通过 url 访问默认.php文件,Web 服务器也会返回以下错误:"401 - 未经授权:由于凭据无效,访问被拒绝"。
请帮忙!
不能阻止对文件的直接访问。如果您限制对文件的访问,正如您提到的,对于无法访问该 js 文件的用户,php 文件将"中断"。
但是,您可以将访问 URL 的用户直接重定向到该文件: Javascript示例:
<script>
if(window.location.href.endsWith('baseView.js'))
{
window.location = 'www.google.com'
}
</script>
您也可以使用 .htaccess 文件来执行此操作,这会好得多。(虽然我现在不能自己测试,但我不确定它是否有效并且不会通过 php 文件调用(
注意:这绝不会阻止用户读取 Javascript 文件,所以我不确定为什么要这样做。