热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何通过登录PHP网站实现校园内外差异化访问:内部免费而外部需付费

该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。
是一个大学的网站(Php+MySQL),在校园内部可以免费访问一些外部的收费资料数据库,现在希望让学生在校外通过登陆学校的网站来免费访问这些收费的资料数据库,请问是否有解决方案。我觉得可以通过学校的服务器发送请求给校外数据库,然后再由学校的服务器将结果原封不动的发送给客户端,但是1)不知道这个方案是否可行;2)即使可行,也不知道应该如何实现。
恳请各位大虾帮助,谢谢!

19 个解决方案

#1


我们学校用的vpn

51cto的vpn介绍
http://netsecurity.51cto.com/art/200712/63094.htm

#2


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");

#3


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


也谢谢justicesun兄,你的建议也很好的。赫赫

#4


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

#5


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

#6


几天没上网,是这样的,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或者别的什么格式才做正则替换。

对于正则替换,还请自己上网看看正则表达式怎么写,仔细学半个小时就能看懂

#7


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

#8


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

建议考虑反向代理来解决这类问题。有收费的,有免费的

#9


反向代理需要用户物理上能够访问校内的网站吧,但是校园网和外网通常是物理上独立分割的

不过也确实如8楼所说的,如果交互性过强,php网页代理还是很成问题

#10


joycheney兄,看这样是不是可以:
先是用户登录校园网站,通过验证后再给与访问资源的权限,然后用FOPEN得到目标文件,在服务器上对所有的链接作正则替换,然后再传送给客户端。

另,我在网上搜索了一下,看见有些人是用file_get_contents来做的,不知道和FOPEN有什么区别?

也多谢CHENHI23兄的指点!

#11


你想让学生在校外也可以登录到原本只能在校园网能看到的收费信息?

没理解清楚。首要问题是 那些收费数据 是不是你们控制的?

#12


反向代理不需要用户物理上能够访问目标网站。

用户需要能访问登录的网站,然后代理的服务器可以访问目标站点就可以。

也就是说即便目标站点是192的内网地址,只要代理服务器能访问,外部用户就可以看到。

另外url替换也是php正则替换有时无法解决的问题。 php正则替换之解决了数据包的替换,无法对header头信息进行替换。
COOKIEs等替换也无法解决

#13


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

#14


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

#15


如果如chenji23所说,反向代理不需要物理链接,你试下反向代理吧
之前我没有用过反向代理,还是chenji23指点有效

参考
http://www.java-asp.net/software/0412/106924576.shtml

#16


反向代理我看过介绍了,需要在浏览器里面重新设置代理访问互联网的代理的,这个不时很符合这个项目的要求的。
昨天看了一些文章,觉得还是用FOPEN打开地址文件,然后用FGETS获得数据,然后通过字符串函数找到链接地址并修改。

但是新的问题有来了,有一些是伴随网页打开的图片,音乐甚至是视频应该如何处理呢?

#17


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

#18


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

#19


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

#20


  • 穿透校园局域网 做到无服务商外网访问
  • 基于PHP的校园二手交易网站的设计与实现

推荐阅读
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 本文详细介绍了笔记本电脑上多种实用的快捷键,包括屏幕调整、图形设置、分辨率更改、驱动更新、导航操作、音量控制及屏幕锁定等,旨在帮助用户更高效地使用笔记本电脑。 ... [详细]
  • 心理学经典:《思考致富》
    《思考致富》是由美国著名成功学大师拿破仑·希尔撰写的一部重要著作,该书基于希尔长达20年的深入研究和访谈,探讨了个人成功的核心要素。书中不仅揭示了成功的关键,还提供了一系列实用的方法和策略。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ... [详细]
author-avatar
mobiledu2502886233
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有