PHP有可能获得请求的证书,特别是证书和CA上的网站名称?PHP - 检查请求的SSL证书
我想检查一下对我的PHP文件的调用只能通过AJAX调用从我的网站进行。就像这样:
- 用户登录到我的网站,然后使用HTTPS进行
- 用户加载页面
https:// domain/mypage.php
https:// domain/mypage.php
在getinfo.php我一个AJAX调用https:// domain/getinfo.php
随后的互动希望检查请求的证书详细信息,以确保请求是从我的网站发出的,即不是来自URL上的直接命中,也不是使用抓取工具。
可能吗?
简答:没有。不管你做什么,总会有可能欺骗请求,看起来它来自Ajax。说实话,我甚至无法证实这种证书方法如何工作 - 相同的证书将用于所有请求,不管是否使用Ajax,除非您要求客户端证书(这是一个总的PITA for你的用户)你会看到的证书永远是服务器端的证书,这显然没有告诉你什么。考虑一下websockets,这会告诉你更多。 – DaveRandom 2012-07-18 13:00:22
*服务器证书*将确保服务器的身份。由于你的服务器已经收到请求,我敢肯定你可以确定你的服务器本身就是真的。你想在这里保护什么? – deceze 2012-07-18 13:44:37
我试图确保对我的getinfo.php的调用来自我的网站,而不是来自试图通过点击URL来窃取我的(非常昂贵的)数据的人。所以我宁愿不给人们一个他们可以访问的URL并以JSON格式获取数据,我想尽可能地让它变得困难,并且至少排除他们从getinfo.php中获取它 – BigMeat 2012-07-18 15:31:05