本文目录一览:
thinkphp6解决 CORS 跨域
1,在app/middleware.php中添加
中间件,这样就改成了
*是不安全的,可以在config/cookie.php配置cookie 有效域名的domain
如果接口请求发送了token,会提示Access-Control-Allow-Headers这个问题,tp6默认是这样
可以在'Access-Control-Allow-Headers' 这一样加上XXX-token,
我在搞这个时还遇见post请求变成get
把method改成了type
thinkphp5 跨域验证码
假设
前端域名为:
服务端域名为:
前端页面地址为:
获取验证码地址:
验证验证码地址:
事例:前台地址 要向服务端地址 验证和请求验证码
原理:因为在加载验证码图片的时候请求中携带了cooike,cooike中存了服务端验证码的PHPSESSID。而在验证过程中因为是跨域请求,ajax是不会携带cooike进行提交的。因此需要在ajax设置withCredentials为true时表示当前请求为跨域类型在请求中协带cookie,并且服务端也必须要设置Access-Control-Allow-Credentials:为true才可以起到实际的效果。-php跨域请求
顺便贴一下进行请求和验证的两个方法:
PHP如何跨域带cookie请求一个页面并输出或跳转?
跨域最好用API,也就是把 cookie的值传到API数据页,再到b.com里读取即可。