如何防止从我的角度站点直接访问 bootstrap.min.js?

Posted

技术标签:

【中文标题】如何防止从我的角度站点直接访问 bootstrap.min.js?【英文标题】:How to prevent bootstrap.min.js directly accessed from my angular site? 【发布时间】:2019-05-18 16:02:07 【问题描述】:

我正在尝试从我的 Angular 4 网站直接访问 bootstrap.min.js

www.website.com/solutions/scripts/bootstrap.min.js.

如何防止直接从浏览器访问?

Bootstrap library 3.3.7 存在已知的安全问题,但即使我升级到 bootstrap 4.0,该文件 bootstrap.min.js 仍然可以通过直接 url 访问

我变了

 "@ng-bootstrap/ng-bootstrap": "3.3.7",

 "@ng-bootstrap/ng-bootstrap": "4.0.0",

我也改了

"bootstrap": "^3.0.0",

"bootstrap": "^4.1.1",

我仍然可以引用该文件

【问题讨论】:

我不希望浏览器使用引导文件或什么? 我想阻止它直接从浏览器访问,我不确定它是否也被使用过..至少阻止它直接从浏览器访问现在可以工作..怎么做? 如果你的浏览器正在使用这个js文件,这意味着html有一些带有src="path_to_js_file"的脚本标签。 如果您说您不希望人们能够输入您的 bootstrap.js 文件的 URL 并查看它,那么您不能。为了使文件对浏览器可用,用户需要能够访问它。我不知道你为什么担心这个。 @vadim 我在代码中到处搜索,但没有使用任何脚本标签找到它 【参考方案1】:

不要在 Angular 项目中添加引导文件。 使用以下命令在您的项目中安装引导程序。 npm install bootstrap 并将其添加到 angular.json 中

还有一个选项,你可以添加引导模块

npm install bootstrap ngx-bootstrap --save

【讨论】:

这可能是个好建议,但似乎与所问的内容完全无关。 我也做了同样的事情,但仍然引用了引导文件,我搜索代码并没有发现该文件在任何地方被引用 library 3.3.7 有已知的安全问题,但即使我升级到 bootstrap 4.0,该文件仍然可以通过直接 url 访问【参考方案2】:

问题是因为 IIS 中有缓存文件,重新启动可能会解决问题

【讨论】:

以上是关于如何防止从我的角度站点直接访问 bootstrap.min.js?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止我的网站页面被加载到其他网站的 iframe 中?

如何防止直接访问 IP Express node.js

如何防止 favicon.ico 请求?

如何防止 iFrame 中的 JavaScript 访问外部站点的属性,即使 iFrame 的内容来自同一来源?

如何从 codeigniter 控制器访问站点 url 或基本 url?

防止 PHP/Apache 访问站点目录上方的文件