打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

    这段配置信息的作用告诉nginx创建一个服务,监听在8081端口上,当用户访问该Web服务根目录的时候,代理到http://192.168.1.10:8000端口。
    配置完成后,现在就可以在页面中的Frame/IFrame中访问http://server_addr:8081/了,也可以用Javascript操作Frame/IFrame中的DOM元素。
   整合多个系统就配置多个server节点,将每个系统配置在不同的端口上既可。   
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
快速精通FRAME
怎样提高网站访问速度缩短网页加载时间
最简单实现跨域的方法:使用nginx反向代理
Long
判断网页是否在iframe中
iis、apache、nginx使用X
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服