我希望我的网络应用程序只能在一个网络浏览器中运行。
E.g。我的申请网址是:http://localhost:8080/project
我想只在一个浏览器中限制此URL。 如果我选择Mozila Firefox作为项目,这个URL不能在IE,Chrome等其他浏览器中运行。
是否可以处理?
答案 0 :(得分:3)
你为什么要那样做?使用Javascript,您可以检测不同的浏览器并按照....
工作https://stackoverflow.com/a/5918791/3617531
编辑
无论如何,您可以在apache中检查UserAgent:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (OneMobileUserAgent|AnotherUserAgent|...)
RewriteRule (.*) userAgentA/$1
编辑2
刚刚找到一个很好的网站,其中包含有关用户代理的大量信息并对其进行解析。希望它可以帮助您找到理想的解决方案: https://developer.jboss.org/thread/177392?_sscc=t
编辑3
正如您所说:我将尝试解释两个第一种方法(javascript)和Apache。
Javascript有一个查询HTTP HEADERS的系统。其中一个是USER_AGENT,客户端发送此标头以识别自己。这显然用于根据浏览器格式化网页,或显示告诉用户使用其他浏览器查看页面的消息。
使用您可以检查的navigator.userAgent变量,可以在javasript中轻松检测到用户代理。在这里你可以阅读更多关于 http://en.wikipedia.org/wiki/User_agent
此外,Apache可以检查将在.htaccess中检查的HTTP_USER_AGENT变量
.htaccess是一个告诉apache如何在特定目录中运行的文件。在那里,yoy必须使用模块“mod_rewrite”,让你让apache充当代理,然后,例如,根据检测到的userAgent拒绝连接:
RewriteEngine On
//allow access to useragentA
RewriteCond %{HTTP_USER_AGENT} UserAgentA
//This line will redirect the user to http://yourdomain.com/webappForuserAgentA
RewriteRule (.*) webappForuserAgentA/$1 [P,R,L]
//Deny (F) access to userAgentB (it will give the error to the client with the wrong browser
RewriteCond %{HTTP_USER_AGENT} UserAgentB
RewriteRule ^.* - [F,L]
你有一个带有apache的.htaccess mod_rewrite指南。
答案 1 :(得分:1)
您可以设置JBoss服务器的最大连接数。这是通过为JBoss max-connections
设置Connector
属性的值来完成的。
根据文档,max-connections
属性:
连接器支持的最大连接数。
因此,要设置它,请打开jbossweb.sar/server.xml
文件并设置max-connections to
1`
<Connector protocol="HTTP/1.1" port="8080"
address="${jboss.bind.address}" connectionTimeout="20000"
redirectPort="8443" max-connections="1" />
这样,当第一个连接仍处于活动状态时,JBoss将不允许建立第二个连接。