目录
回复内容:
首页 后端开发 php教程 javascript - Ajax跨域请求和表单提交事件

javascript - Ajax跨域请求和表单提交事件

Jun 06, 2016 pm 08:14 PM
html html5 javascript php python

假设现在有两家网站,A和B,他们面向同一用户(C)提供服务。
现在,C登录A公司提供的网页,在登录表单中输入用户名和密码。
在输入用户名的时候,浏览器异步请求数据,表单下方实时显示可用用户名,该数据是B网站服务器返回的(A并没有B网站服务器的控制权)。
然后输入完成以后,按回车,触发表单提交事件。提交的时候,用户名发送到A网站,密码本地哈希后发送到B网站。

以上怎么实现,不需要讲的太具体。

回复内容:

假设现在有两家网站,A和B,他们面向同一用户(C)提供服务。
现在,C登录A公司提供的网页,在登录表单中输入用户名和密码。
在输入用户名的时候,浏览器异步请求数据,表单下方实时显示可用用户名,该数据是B网站服务器返回的(A并没有B网站服务器的控制权)。
然后输入完成以后,按回车,触发表单提交事件。提交的时候,用户名发送到A网站,密码本地哈希后发送到B网站。

以上怎么实现,不需要讲的太具体。

可以使用如下两种做法:

  1. 使用CORS (Cross-origin resource sharing)
    需要B网站请求返回的头部添加CORS相关Header,其中Access-Control-Allow-Origin中添加A网站的域。具体跨域信息参考:http://blog.csdn.net/qgw_2000/article/details/8882051

  2. 通过A网站代理发送请求到B网站
    请求都发给A网站,针对需要请求B网站的请求进行转发,在nginx中,简单通过proxy_pass就可以做到。

这不就是xss嘛,B服务器设定一下,接受来自A域名的跨域请求就可以了。

如果懂服务器配置建议采用二楼的第二种方法,如果不懂,用php的curl同样可以实现,前端表单异步提交都给A站,A站通过curl访问B站的接口(或者说模拟提交表单)来获取你想要的数据

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Linux系统自带Python解释器能删除吗? Linux系统自带Python解释器能删除吗? Apr 02, 2025 am 07:00 AM

关于Linux系统自带Python解释器的删除问题许多Linux发行版在安装时会预装Python解释器,它并非通过软件包管理器�...

如何解决Python中自定义装饰器的Pylance类型检测问题? 如何解决Python中自定义装饰器的Pylance类型检测问题? Apr 02, 2025 am 06:42 AM

使用自定义装饰器时的Pylance类型检测问题解决方法在Python编程中,装饰器是一种强大的工具,可以用于添加行�...

在Linux终端中使用python --version命令时如何解决权限问题? 在Linux终端中使用python --version命令时如何解决权限问题? Apr 02, 2025 am 06:36 AM

Linux终端中使用python...

Python 3.6加载pickle文件报错ModuleNotFoundError: No module named '__builtin__'怎么办? Python 3.6加载pickle文件报错ModuleNotFoundError: No module named '__builtin__'怎么办? Apr 02, 2025 am 06:27 AM

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

FastAPI 和 aiohttp 是否共享同一个全局事件循环? FastAPI 和 aiohttp 是否共享同一个全局事件循环? Apr 02, 2025 am 06:12 AM

Python异步库之间的兼容性问题在Python中,异步编程已经成为处理高并发和I/O...

Python 3.6加载Pickle文件报错"__builtin__"模块未找到怎么办? Python 3.6加载Pickle文件报错"__builtin__"模块未找到怎么办? Apr 02, 2025 am 07:12 AM

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何在Python中通过信号杀死父进程后确保子进程也终止? 如何在Python中通过信号杀死父进程后确保子进程也终止? Apr 02, 2025 am 06:39 AM

使用信号杀死父进程时,子进程继续运行的问题及解决方案在Python编程中,通过信号杀死父进程后,子进程仍然...

See all articles