【问题标题】:Every entry to website will forward first to some page网站的每个条目都会首先转发到某个页面
【发布时间】:2011-10-06 17:18:56
【问题描述】:

我想在我的办公室里对所有员工说,如果有人进入一个网站,他首先会转到某个 URL,该 URL 将保存他试图访问的 URL,然后将他移动到他的 URL。

我该怎么做?通过主机文件还是通过路由器或其他方式来完成?

或者我在哪里可以读到它?或者怎么称呼? :)

【问题讨论】:

  • 听起来你想要一个强制门户。

标签: proxy


【解决方案1】:

您所说的是互联网监控。通常,您需要使用专门用于执行此操作的软件来设置服务器。

我不是在做代言,但我首先想到的是 iPrism,因为它是我最近看到的。 http://www.edgewave.com/products/web_security/

你可以在这里找到更多。 http://www.google.com/search?q=internet+usage+monitpring&sourceid=ie7&rls=com.microsoft:en-us:IE-Address&ie=&oe=

也就是说,这个问题应该转移到 ServerFault.com,因为它不是编程问题,除非你打算自己编写一个 Internet 监控系统。

【讨论】:

    【解决方案2】:

    如果您有一个透明代理,(或不那么透明但强制)例如squid 他们经常提供允许你重写 URL 的方法。使用 squid 你可以设置一个url_rewrite_program:

    url_rewrite_program /usr/local/bin/redirector.pl
    

    然后您编写一个重定向程序,例如这个概念证明:

    my %approved;
    
    while (<>) {
             chomp;
             my @parts = split;
             my ($url, $ip, $ident, $method, $keypairs) = @parts;
    
             if (defined $approved{$ip}) {
               # We've seen them before
               print "$url\n";
             }
             else {
                # Not seen before
                # You *will* need to urlencode $url for this
                print "302:http://internal.site/page?dest=$url\n"; 
                $approved{$ip} = 1;
             }
    }
    

    那么您需要做的就是实现http://internal.site/page,以便它显示您的消息,并且基于时间或基于点击的重定向返回到它作为dest 传递的url。

    您可能想要做的是使用%approved 记录您最后一次看到来自该机器的请求并超时。您可能还想考虑使用比 IP 地址更低级别的东西,例如查找 MAC 地址和交换机端口。

    【讨论】:

    • 我需要做什么?在我的工作计算机上安装一些软件?我不明白... :\
    • 您需要将它安装在办公室的核心基础设施上/附近。您可能想要做的是让您的边缘路由器通过一个或多个 squid 代理服务器发送所有端口 80 的出站流量。显然,您需要代理服务器本身的例外。您根本不需要为此触摸桌面。
    猜你喜欢
    • 2011-04-20
    • 2016-01-26
    • 1970-01-01
    • 2019-09-13
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多