nestjs怎么控制API只能ajax访问其他http请求就报错

我在用nestjs帮一个朋友开发打字练习(打字狗)网站遇到一个问题,我写了一个API本来是给ajax访问的但是我在地址栏直接输入API也能访问,

这不是我想要的这样不安全也很不好,我想法是只能通过ajax访问其他的HTTP请求都要不允许。

我的思路是:

1、我怎么知道他不是ajax请求。

最简单的方案是响应头里告诉客户端,我的API必须是ajax请求才能通过访问的。

header('Access-Control-Allow-Methods: GET, POST');

我通过设置这些标头就解决了

如果你不是ajax访问的会报

Allow my API to be access via AJAX

Access-Control-Allow-Methods: GET, POST 表示响应标头指定响应访问所述资源到时允许的一种或多种方法预检请求。

这种方法虽然说把问题解决了但老式浏览器不兼容,但不会有bug只是不起作用而已,其实现在ie浏览器已退出历史舞台了也不用考虑了,先说这么多以后再补充。

 

posted @ 2022-06-22 15:07  momo1238  阅读(13)  评论(0)    收藏  举报