`
fffvvvzz
  • 浏览: 23795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用nginx实现跨站脚本

阅读更多
    最近在做一个系统整合的项目,目的是把某政府机关中的N个系统进行深度整合。由于这些系统分属于多家不同公司,无法拿到系统的源代码。
    初步构思是使用Frame/IFrame将对方的系统加载到页面中,然后用Javascript模拟用户的操作去获取或设置某些信息,以达到深度整合的目的。
    技术上没有什么太难得地方,但是发觉Javascript无法操作Frame/IFrame内容是不同域的页面中的DOM,报出的错误提示的“没有权限”。Google了一下,原来这种操作被成为跨站脚本(XSS),是被浏览器禁止的。
    解决这个问题的思路是使用代理服务器,将其他系统映射到整合系统所在的服务器上。这样在浏览器看来所有的系统都是同一台服务器的,就解决了XSS的限制。
    我们在这里选用nginx做代理,首先去nginx.org下载程序,nginx支持Windows和*nix操作系统。在开发环境中,我们选用Windows版本。
    下载完成后,打开conf/nginx.conf,将旧的server节点完全删除。在删除的位置上添加下面代码
    server {
        listen       8081;
        location / {
                proxy_pass http://192.168.1.10:8000;
        }

    这段配置信息的作用告诉nginx创建一个服务,监听在8081端口上,当用户访问该Web服务根目录的时候,代理到http://192.168.1.10:8000端口。
    配置完成后,现在就可以在页面中的Frame/IFrame中访问http://server_addr:8081/了,也可以用Javascript操作Frame/IFrame中的DOM元素。
   整合多个系统就配置多个server节点,将每个系统配置在不同的端口上既可。
分享到:
评论

相关推荐

    LNMP/Nginx 虚拟主机面板 AMH v5.0.zip

    02) 高效: 使用高性能Nginx服务器软件支持,面板基于AMH命令行运行,实现过程快速高效。 03) 安全: 安全/兼容模式可自由切换,安全模式不同虚拟主机之间互不影响,避免跨站攻击,让服务器安全性能倍增。 04) 独立:...

    基于SpringCloud的分布式跨境电商系统的设计与实现完整源码+数据库+项目说明.zip

    基于SpringCloud的分布式跨境电商系统的设计与实现完整源码+数据库+项目说明.zip 【技术栈】 后端相关: Spring Cloud+MyBatis-Plus+Elasticsearch+Redis+RabbitMQ+Nacos+Sentinel+Zipkin+Nginx+Docker+OSS+JWT 前端...

    PHP实现的一个SQL语言解析和补全

    3. **跨平台兼容性:** PHP可以运行在多种操作系统(如Windows、Linux、Mac等)以及主流的Web服务器(如Apache、Nginx等)上,具有很高的兼容性。 4. **数据库集成支持:** PHP天然地与许多流行的

    微网快站自助建站系统

    您还可以通过与Nginx、Apache等Web服务器集成后实现服务器集群与负载均衡,以支持大规模的并发访问。同时,本系统的软件架构设计考虑到了功能的可扩展性,并不局限于一个相对简单的新闻类型的信息发布网站,您还可以...

    微网快站自助建站系统1.0

    您还可以通过与Nginx、Apache等Web服务器集成后实现服务 器集群与负载均衡,以支持大规模的并发访问。同时,本系统的软件架构设计考虑到了功能的可扩展性,并不局限于一个相对简单的新闻类型的信息发布网站,您还...

    基于muduo开发的集群聊天服务器c++源码+数据库+使用说明.zip

    - 使用 Nginx 的 TCP 负载均衡功能,将客户端请求分派到多个服务器上,以提高并发处理能力 - 基于发布-订阅的服务器中间件redis消息队列,解决跨服务器通信难题 - 封装 MySQL 接口,将用户数据储存到磁盘中,实现...

    php的sql语句操作类库

    PHP(PHP: Hypertext Preprocessor...3. **跨平台兼容性:** PHP可以运行在多种操作系统(如Windows、Linux、Mac等)以及主流的Web服务器(如Apache、Nginx等)上,具有很高的兼容性。 4. **数据库集成支持:** ......

    lamp-cloud微服务脚手架

    12、防跨站脚本攻击(XSS) 通过过滤器对所有请求中的 表单参数 进行过滤 通过Json反序列化器实现对所有 application/json 类型的参数 进行过滤 13、当前登录用户信息注入器 通过注解实现用户身份注入 14、在线API ...

    PHP5完全攻略

    PHP起源与1995年,由当时年仅17岁的丹麦程序员Rasmus Lerdorf编写完成,起初是使用Perl语言开发的服务器端脚本,用于跟踪用户信息。由于主要功能是表单的转换和信息搜集工作,又成为Personal Home Page和Form ...

    matlab代码做游戏-Hsuching-Dev-Starts:我的GitHub明星精选清单!

    -使用JavaScript,HTML和CSS构建跨平台的桌面应用程序 -无缝的R和C ++集成 -用于快速文本表示和分类的库。 -本书的解决方案:破解编码面试V4。 用C ++编写。 -图说设计模式 -Swift编程语言 -使用数据流图进行计算以...

    Job Plus项目是基于SpringBoot+Vue的轻量级定时任务管理系统+源代码+文档说明

    1. 架构潮流:系统采用SpringBoot+VUE前后端分离,前端单独部署,Nginx负载均衡 2. 接口友好:同时支持swagger2、knife4j两种可视化接口API调试,支持离线接口文档; 3. 任务管理:支持通过Web页面对任务进行CRUD...

    lamp-cloud微服务脚手架-其他

    12、防跨站脚本攻击(XSS) 通过过滤器对所有请求中的 表单参数 进行过滤 通过Json反序列化器实现对所有 application/json 类型的参数 进行过滤 13、当前登录用户信息注入器 通过注解实现用户身份注入 14、在线API ...

    基于PHP+Mysql的教学辅助网站源码+sql数据库+项目说明.zip

    环境搭建不熟练的同学,建议不要使用Mac本地的Apache2服务,应该用brew搭建php+nginx环境更加方便 CentOS: httpd+php完事 ``` 概述 软件项目学习管理系统是一个方便教师与学生进行软件项目管理课程的学习与交流的...

    javapms门户网站源码

    javascript脚本基于jquery和javascript标准编写,有效的解决了js跨浏览器的问题,系统可以在IE6、IE7、IE8、IE9、FireFox、Chrome、Opera、Safari浏览器下平稳运行。 1.5. 强大的中文采集与检索技术 系统支持强大的...

Global site tag (gtag.js) - Google Analytics