我有一个使用php和java脚本的Web应用程序。
如果有人尝试在浏览器中输入Java脚本文件的路径,则将在浏览器中显示完整的Java脚本。
例如:http://myserver.com/MyApp/app/view/baseView.js,这将返回该特定Java脚本文件的源代码。

我可以限制吗?我正在使用Windows IIS 7.5 Web服务器。
我尝试在主web.config文件中执行此操作:

<security>
        <authorization>
            <remove users="*" roles="" verbs="" />
            <add accessType="Allow" users="" roles="Administrators" />

        </authorization>
    </security>


但是,即使我尝试通过url访问default.php文件,此代码也会阻止整个应用程序,Web服务器将返回以下错误:“ 401-未经授权:由于无效的凭据而拒绝访问”。

请帮忙 !

最佳答案

您不能阻止直接访问该文件。如前所述,如果您限制对该文件的访问,则对于无法访问该js文件的用户,php文件将“中断”。

但是,您可以将直接访问URL的用户重定向到文件:
JavaScript示例:

<script>
if(window.location.href.endsWith('baseView.js'))
{
    window.location = 'www.google.com'
}
</script>


您可能还可以使用.htaccess文件来执行此操作,这会更好。 (尽管我现在无法自己进行测试,但是我不确定它是否可以工作并且不能通过php文件调用)

注意:这绝不会阻止用户阅读Javascript文件,因此我不确定为什么要这样做。

关于javascript - 拒绝直接访问IIS Web服务器中的JavaScript文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52392632/

10-13 08:31
查看更多