php网站:如何使校园外部的访问通过登陆网站来访问校园内部免费但是校园外部访问要收费的网站? 我们学校用的vpn51cto的vpn介绍http://netsecurity.51cto.com/art/200712/63094.htm 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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"); 多谢joycheney兄,你说的极是,是不是可以用SESSION来进行身份的认证,然后决定是不是有权限去访问站点,如果有,就用FOPEN函数将资源读取在服务器中,然后再ECHO进网页发送回客户端。也谢谢justicesun兄,你的建议也很好的。赫赫 还有就是因为资源网站是主要用来查询资料的,所以有一些查询的请求,如果只是简单的ECHO的话,那么这些请求应该会直接递交到资源网站,这样的话应该是依然没有可能获得想要的资料的,这个又该如何处理呢? 是否要在服务器端对所取得的资源里面所有的链接,Form进行重新定位呢? 几天没上网,是这样的,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或者别的什么格式才做正则替换。对于正则替换,还请自己上网看看正则表达式怎么写,仔细学半个小时就能看懂 第二个问题,是否要在服务器段所取得的Form重定位,这么说吧,很多时候你只能代替用户登陆的,请到http://snoopy.sourceforge.net/下载一个人家封装好的php类库,看看能不能帮上你 这个问题比较复杂 。如果是交互性比较强的站点用php网页代理的形势还是不行的。需要考虑很多方面的情况: 访问用户的限制,访问网站的限制,目标站点的命名空间问题(这个不好解决)建议考虑反向代理来解决这类问题。有收费的,有免费的 反向代理需要用户物理上能够访问校内的网站吧,但是校园网和外网通常是物理上独立分割的不过也确实如8楼所说的,如果交互性过强,php网页代理还是很成问题 joycheney兄,看这样是不是可以:先是用户登录校园网站,通过验证后再给与访问资源的权限,然后用FOPEN得到目标文件,在服务器上对所有的链接作正则替换,然后再传送给客户端。另,我在网上搜索了一下,看见有些人是用file_get_contents来做的,不知道和FOPEN有什么区别?也多谢CHENHI23兄的指点! 反向代理不需要用户物理上能够访问目标网站。用户需要能访问登录的网站,然后代理的服务器可以访问目标站点就可以。也就是说即便目标站点是192的内网地址,只要代理服务器能访问,外部用户就可以看到。另外url替换也是php正则替换有时无法解决的问题。 php正则替换之解决了数据包的替换,无法对header头信息进行替换。cookies等替换也无法解决 回ashchen,是一些资料网站,类似于万方的数据库,一般在校外是要付费才可以查阅其中的资料的,现在希望学生在校外,只要凭学生账号登陆学校的网站,就可以像在学校内一样的免费查询。收费数据不是我们控制,只是可以免费的在校园网内访问! 那还是在校内建个socket5代理,支持数据库管理用户名密码使用时间那种,用防火墙控制目标网站列表 如果如chenji23所说,反向代理不需要物理链接,你试下反向代理吧之前我没有用过反向代理,还是chenji23指点有效参考http://www.java-asp.net/software/0412/106924576.shtml 反向代理我看过介绍了,需要在浏览器里面重新设置代理访问互联网的代理的,这个不时很符合这个项目的要求的。昨天看了一些文章,觉得还是用FOPEN打开地址文件,然后用FGETS获得数据,然后通过字符串函数找到链接地址并修改。但是新的问题有来了,有一些是伴随网页打开的图片,音乐甚至是视频应该如何处理呢? 看了一下joycheney兄给的网站,又找了SQUID的指南看了一下,觉得反向代理还是比较适用的,但是用户认证和地址解析还有一点问题。继续努力!大家有好主意也请不吝赐教!谢谢! 几乎明白了,准备用SQUID作反向代理服务器,再结合MySQL做访问认证。现在就是想怎样先通过一个浏览器界面让用户登录了,我再想想:) 把客户端的IP地址取出来比较一下就可以了嘛.内网和外网的IP规则是有区别的 php 怎么向第三方提供的xml接口发送请求获取数据? 这样用会被注入吗?INSERT tb(`id`,`v`)values(null,'".$_POST['vv']."') 关于链接上一页或下一页的问题 使用构建的SQL类库,如果我是两个数据库怎么办? 问一个关于日期的问题 怎样从mysql中选择出所有不同的和它们的个数? 求助 请问生成静态页面的问题? 分页后我想做一个直接跳转到某个页面的输入框,通过它的onchange事件跳到输入的哪个页面,应该怎么做呢? 请教PHP session问题 为什么将Excel表单数据导入到MySql,中文显示不了啊?(英文可以) php发送邮件
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");
也谢谢justicesun兄,你的建议也很好的。赫赫
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或者别的什么格式才做正则替换。对于正则替换,还请自己上网看看正则表达式怎么写,仔细学半个小时就能看懂
http://snoopy.sourceforge.net/
下载一个人家封装好的php类库,看看能不能帮上你
需要考虑很多方面的情况: 访问用户的限制,访问网站的限制,目标站点的命名空间问题(这个不好解决)建议考虑反向代理来解决这类问题。有收费的,有免费的
先是用户登录校园网站,通过验证后再给与访问资源的权限,然后用FOPEN得到目标文件,在服务器上对所有的链接作正则替换,然后再传送给客户端。另,我在网上搜索了一下,看见有些人是用file_get_contents来做的,不知道和FOPEN有什么区别?也多谢CHENHI23兄的指点!
cookies等替换也无法解决
之前我没有用过反向代理,还是chenji23指点有效参考
http://www.java-asp.net/software/0412/106924576.shtml
昨天看了一些文章,觉得还是用FOPEN打开地址文件,然后用FGETS获得数据,然后通过字符串函数找到链接地址并修改。但是新的问题有来了,有一些是伴随网页打开的图片,音乐甚至是视频应该如何处理呢?
继续努力!大家有好主意也请不吝赐教!谢谢!
现在就是想怎样先通过一个浏览器界面让用户登录了,我再想想:)