我们学校用的vpn51cto的vpn介绍
http://netsecurity.51cto.com/art/200712/63094.htm

解决方案 »

  1.   

    vpn确实可行,服务器请求也可行你可以在你的网站上加入链接,链接形式如:
    http://www.yoursite.com/redirect.php?url=http://www.校园网xxxx.com/
    将学生要访问的链接作为参数传给你的php,再由你的php文件访问对应网址,将内容然后echo给学生.
    为安全起见,最好将"http://www.校园网xxxx.com/"这部分编码
    为执行效率起见,最好将常访问的东西做一个缓存,否则很慢php可以通过fopen函数让服务器访问其他http资源:
    $handle = fopen("http://www.example.com/", "r");
      

  2.   

    多谢joycheney兄,你说的极是,是不是可以用SESSION来进行身份的认证,然后决定是不是有权限去访问站点,如果有,就用FOPEN函数将资源读取在服务器中,然后再ECHO进网页发送回客户端。
    也谢谢justicesun兄,你的建议也很好的。赫赫
      

  3.   

    还有就是因为资源网站是主要用来查询资料的,所以有一些查询的请求,如果只是简单的ECHO的话,那么这些请求应该会直接递交到资源网站,这样的话应该是依然没有可能获得想要的资料的,这个又该如何处理呢?
      

  4.   

    是否要在服务器端对所取得的资源里面所有的链接,Form进行重新定位呢?
      

  5.   

    几天没上网,是这样的,echo之前你可以先做正则替换的,把
    http://www.校园网xxxx.com/
    这部分替换成:
    http://www.yoursite.com/redirect.php?url=http://www.校园网xxxx.com/这样的话,比如
    http://www.校园网xxxx.com/1.jpg
    就变成了
    http://www.yoursite.com/redirect.php?url=http://www.校园网xxxx.com/1.jpg或者,你可以在php里面加上判断,对html或者别的什么格式才做正则替换。对于正则替换,还请自己上网看看正则表达式怎么写,仔细学半个小时就能看懂
      

  6.   

    第二个问题,是否要在服务器段所取得的Form重定位,这么说吧,很多时候你只能代替用户登陆的,请到
    http://snoopy.sourceforge.net/
    下载一个人家封装好的php类库,看看能不能帮上你
      

  7.   

    这个问题比较复杂 。如果是交互性比较强的站点用php网页代理的形势还是不行的。
    需要考虑很多方面的情况: 访问用户的限制,访问网站的限制,目标站点的命名空间问题(这个不好解决)建议考虑反向代理来解决这类问题。有收费的,有免费的
      

  8.   

    反向代理需要用户物理上能够访问校内的网站吧,但是校园网和外网通常是物理上独立分割的不过也确实如8楼所说的,如果交互性过强,php网页代理还是很成问题
      

  9.   

    joycheney兄,看这样是不是可以:
    先是用户登录校园网站,通过验证后再给与访问资源的权限,然后用FOPEN得到目标文件,在服务器上对所有的链接作正则替换,然后再传送给客户端。另,我在网上搜索了一下,看见有些人是用file_get_contents来做的,不知道和FOPEN有什么区别?也多谢CHENHI23兄的指点!
      

  10.   

    反向代理不需要用户物理上能够访问目标网站。用户需要能访问登录的网站,然后代理的服务器可以访问目标站点就可以。也就是说即便目标站点是192的内网地址,只要代理服务器能访问,外部用户就可以看到。另外url替换也是php正则替换有时无法解决的问题。 php正则替换之解决了数据包的替换,无法对header头信息进行替换。
    cookies等替换也无法解决
      

  11.   

    回ashchen,是一些资料网站,类似于万方的数据库,一般在校外是要付费才可以查阅其中的资料的,现在希望学生在校外,只要凭学生账号登陆学校的网站,就可以像在学校内一样的免费查询。收费数据不是我们控制,只是可以免费的在校园网内访问!
      

  12.   

    那还是在校内建个socket5代理,支持数据库管理用户名密码使用时间那种,用防火墙控制目标网站列表
      

  13.   

    如果如chenji23所说,反向代理不需要物理链接,你试下反向代理吧
    之前我没有用过反向代理,还是chenji23指点有效参考
    http://www.java-asp.net/software/0412/106924576.shtml
      

  14.   

    反向代理我看过介绍了,需要在浏览器里面重新设置代理访问互联网的代理的,这个不时很符合这个项目的要求的。
    昨天看了一些文章,觉得还是用FOPEN打开地址文件,然后用FGETS获得数据,然后通过字符串函数找到链接地址并修改。但是新的问题有来了,有一些是伴随网页打开的图片,音乐甚至是视频应该如何处理呢?
      

  15.   

    看了一下joycheney兄给的网站,又找了SQUID的指南看了一下,觉得反向代理还是比较适用的,但是用户认证和地址解析还有一点问题。
    继续努力!大家有好主意也请不吝赐教!谢谢!
      

  16.   

    几乎明白了,准备用SQUID作反向代理服务器,再结合MySQL做访问认证。
    现在就是想怎样先通过一个浏览器界面让用户登录了,我再想想:)
      

  17.   

    把客户端的IP地址取出来比较一下就可以了嘛.内网和外网的IP规则是有区别的