由于某些安全原因,我正在开发一个我想禁止在IE 6.0浏览器中打开的网站。我知道每个浏览器都有一个唯一的标题信息,当我们请求网页时发送,所以我可以阻止我的网站在IE 6.0或任何浏览器中使用javascript,php或使用任何东西吗?
答案 0 :(得分:4)
<!--[if (gt IE 6)|!(IE)]><!--> <html> Entire website? </html> <!--<![endif]-->
说真的,你可以使用IE条件评论àlaHTML5 Boilerplate:
<!doctype html>
<!--[if lt IE 7 ]> <html lang="en-us" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en-us" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en-us" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en-us" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en-us" class="no-js"> <!--<![endif]-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1" >
<meta charset="utf-8">
...
答案 1 :(得分:4)
对于IE来说它很容易,因为微软添加了特殊的标签,你可以检测出哪些IE版本。它比尝试使用User-Agent
标头更可靠。这样的事情应该起作用(在HTML的头部)
<!--[if lte IE 6]>
<meta http-equiv="refresh" content="0;url=http://yoursite.com/ie6_is_a_steaming_pile.html">
<[endif]-->
显然用您自己的网站替换链接,可能更巧妙; - )
答案 2 :(得分:3)
你可以使用这样的条件评论。
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
未修改版本的Internet Explorer 6将运行此代码,其他浏览器则不会。但我不知道这是否满足您的安全考虑。一切都可以伪造。
你也可以查看标题信息,但问题是同样的......
请告诉我们更多关于您在这里尝试做什么的信息。
答案 3 :(得分:2)
您可以在每个页面上包含一些简单的PHP来捕获MSIE用户:
if(preg_match('/MSIE/i',$_SERVER['HTTP_USER_AGENT'])){
die('Your browser is not allowed');
}
还有许多其他更复杂和全面的方法可以实现这一目标。
答案 4 :(得分:1)
当然,检查this out(CGI方法,PHP方法,JS方法)
的 PHP:强>
<?php
if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||
eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {
Header("Location: http://www.domain.com/ie_reject.html");
exit;
}
?>
<强> JS:强>
<!--
if (navigator.appName == "Microsoft Internet Explorer") {
document.location = "http://www.domain.com/ie_reject.shtml";
} else {
document.location = "http://www.domain.com/realhomepage.html";
}
// -->
答案 5 :(得分:1)
如果你真的想这样做......
在PHP中:
if (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE 6")) {
// exit or redirect or whatever...
exit();
}
答案 6 :(得分:1)
答案 7 :(得分:0)
真正的答案是:你做不到。出于安全原因,标题中的某个UA太容易被欺骗使用它,如果有人想在不允许它的应用程序上使用IE6,可以使用简单的代理来完成它,让应用程序思考它是IE8。
也就是说,您可以使用get_browser函数轻松地在PHP中完成它。
答案 8 :(得分:0)
我会说:做得对吗!有一个专门的类,跟踪所有浏览器和设备的所有USER_AGENTS,创建它们的数据库并将其集成到您的工作Session例程。每次用户进入时,确定他的用户代理信息[类型,名称和版本],然后将数据传递给您的显示例程,这些例程应确定要打印的内容和设计模板。通过这种方式,您可以构建一个SEO友好,用户友好,整洁且易于组织的网站[=开发人员友好] - 一体化,这在今天的互联网上偶然发现是非常罕见的......所以,做得对!