假设我的服务端地址为: http://api.a.com, 客户端地址为: http://www.a.com
如果服务端不设置任何 CORS 配置,那么可以通过 postman 或者其他 api 请求工具可以正常请求?不会出现跨域问题?
如果服务端设置 CORS 配置 Access-Control-Allow-Origin: www.a.com, 那么还可以通过 postman 或者其他 api 请求工具可以正常请求吗?
1
ksc010 2023-01-31 09:54:45 +08:00
postman 跟你设置 CORS 没有任何关系
CORS 是用来提示浏览器的(若浏览器自己不遵守,这个限制也没有用) |
2
renmu 2023-01-31 09:59:15 +08:00 via Android
可以,跨域是浏览器的限制
|
3
dzdh 2023-01-31 10:04:18 +08:00
- CORS 只限制浏览器环境( chrome/edge/firefox/...)
- 对方允许跨域( response header) - 当前域允许跨域( content-security-policy) - 动态 script 标签引用跨域 js ( src=xxx.php?.js )不算 [请求跨域] ,算资源跨域,一般不需要对方服务器许可(当然对方可以根据 referer 来进行限制),同时受 content-security-policy 限制 - 编程发起的请求(js/python/curl/php/java/go...)不受任何限制( cors 、content-security-policy),哪怕对方服务器的安全防护你也可以进行绕过 总结。学会区分,浏览器中的请求,和其他请求的区别。 |
4
huijiewei 2023-01-31 10:07:21 +08:00
跨域是浏览器安全限制
|
5
feeeff OP |
7
webmrxu 2023-01-31 10:42:55 +08:00
浏览器搞一个限制跨域问题,本来就很鸡肋。http 是没有跨域概念的,所以只要不用浏览器发起的 http 请求,是没有跨域限制的。
|
10
IvanLi127 2023-01-31 10:57:42 +08:00 via Android
@feeeff 如果你是攻击者的话,你用代理去请求,你已经是换其他攻击方式了。和跨越限制没关系了。
|
11
feeeff OP 谢谢热心的兄弟们
|