360浏览器弹出不能访问本地资源,只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了360浏览器弹出不能访问本地资源,只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源相关的知识,希望对你有一定的参考价值。
本地做了个网页,里面用FancyBox做了个demo,实现点击图片后弹出视频并播放,在搜狗浏览器中打开没问题,能正常播放,但是在360浏览器中打开,点击图片后无法播放,在IE中打开,提示不能访问本地资源,只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源,请问这该如何解决?不要说修改电脑的文件,这个本地网页要在不同电脑上打开,每次修改电脑文件不现实,有没有什么方法能从这个网页上入手解决的?谢谢
参考技术A 这样的怀你可以使用360软件管家下载安装最新的flash插件,这样就可以正常打开。如何将页面访问仅限于本地主机?
【中文标题】如何将页面访问仅限于本地主机?【英文标题】:How to limit page access only to localhost? 【发布时间】:2012-08-06 10:44:18 【问题描述】:asp.net 中有没有办法限制只能从 localhost 访问网页?
【问题讨论】:
如果发出非本地主机请求,您希望发生什么? 是的,我认为我们理解访问受到限制...但究竟应该发生什么? 用户应该看到什么?他们会被引导到某个地方吗? (如果您要回复个人,则需要在其用户名后加上@
,否则他们将不会收到通知)
@freefaller 确定(关于@),甚至不应该尝试访问此页面,因此它可能是一些 4xx http 响应。我正在考虑查看 HttpRequest.IsLocal 属性。
是的,HttpRequest.IsLocal
会为您工作。但是您会希望重定向到基于 404 的页面(返回 404 可能会开始影响页面被查看的能力 - 尽管我对此不是 100% 确定)
【参考方案1】:
if (!HttpContext.Current.Request.IsLocal)
Response.Status = "403 Forbidden";
Response.End();
【讨论】:
【参考方案2】:如果您想为“网页”执行此操作,那么我会使用 IsLocal,但如果您想要子目录解决方案,我会使用 Url Rewrite 2.http://www.microsoft.com/web/gallery/install.aspx?appid=urlrewrite2。如果您还没有安装它,请去获取它,因为它非常有用。我相信它将成为 IIS8 的标准配置。
然后将其添加到<system.webServer/>
下的 web.config 中
<rewrite>
<rules>
<!-- if this rule matches stopProcessing any further rules -->
<rule name="Block Remote Access to Admin" stopProcessing="true" patternSyntax="ECMAScript" enabled="true">
<!-- specify secure folder matching trailing / or $ == end of string-->
<match url="projects(/|$)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<!-- Allow local host -->
<add input="REMOTE_ADDR" pattern="localhost" ignoreCase="true" negate="true" />
<add input="REMOTE_ADDR" pattern="127.0.0.1" negate="true" />
<add input="REMOTE_ADDR" pattern="::1" negate="true" />
</conditions>
<!-- by default, deny all requests. Options here are "AbortRequest" (drop connection), "Redirect" to a 403 page, "CustomResponse", etc. -->
<action type="CustomResponse" statusCode="403" statusDescription="Forbidden" statusReason="Access to this URL is restricted"/>
<!-- or send the caller to an error page, home page etc
<action type="Redirect" url="/public/forbidden.htm" redirectType="Temporary" />
-->
</rule>
</rules>
</rewrite>
【讨论】:
【参考方案3】:这可能是一个解决方案:
protected void Page_Load(object sender, EventArgs e)
string localhost = Request.Url.Authority;
if (localhost.IndexOf("localhost") != 0)
Response.Redirect("defalut.aspx");
【讨论】:
以上是关于360浏览器弹出不能访问本地资源,只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源的主要内容,如果未能解决你的问题,请参考以下文章