我正在创建一个API,供通过CORS请求托管在不同域上的Javascript客户端使用。
我的API只能通过HTTPS访问。
我想限制只能访问HTTPS域提供的那些Javascript客户端。
阅读CORS规范 - http://www.w3.org/TR/cors/#user-agent-security - 似乎大多数用户代理会自动阻止HTTPS客户端访问HTTP API。
是否可以要求反向 - 即阻止HTTP客户端访问我的HTTPS API?
答案 0 :(得分:1)
检查Referer标头以查看它是否以“https”开头?您还可以验证Referer是否与Origin域匹配作为完整性检查。
答案 1 :(得分:0)
我意识到这有点晚了,但我今天碰巧正在浏览CORS问题。
答案是查看请求中的“Origin”标题。如果它不以https:
开头,则拒绝该请求。不过,我不确定最好的状态代码是什么。可能是403 Forbidden
回复。
答案 2 :(得分:-1)
您应该将服务器配置为仅允许对您的API进行https调用。