我想在系统范围内阻止对 Graph API 的请求,该请求从使用此 URL 的 Graph 获取个人资料图像:
https://tasks.office.com/COMPANY.onmicrosoft.com/GraphApiV1/GetUserPhotoAsync
我已经用 uBlock Origin 对其进行了测试,它遵循以下规则:
||tasks.office.com/COMPANY.onmicrosoft.com/GraphApiV1/GetUserPhotoAsync?
缺点是它只能在单个浏览器中运行,并且我无法在 Teams 或其他应用程序中阻止个人资料图像。
因此,我以为我将这个地址添加到我的 ESET 的 Web 和电子邮件阻止列表中,如下所示,但它不起作用。图像仍然加载。我尝试了各种模式,如下所示:
https://tasks.office.com/COMPANY.onmicrosoft.com/GraphApiV1/GetUserPhotoAsync https://tasks.office.com/COMPANY.onmicrosoft.com/GraphApiV1/GetUserPhotoAsync? https://tasks.office.com/COMPANY.onmicrosoft.com/GraphApiV1/GetUserPhotoAsync?* *.office.com/COMPANY.onmicrosoft.com/GraphApiV1/GetUserPhotoAsync?*
我还可以尝试什么?
答案1
实现此目的的唯一方法是对您正在运行的软件进行中间人攻击。否则,您无法过滤特定的请求路径。从抽象层面上讲,您需要以下内容:
- 可以进行 HTTPS 拦截的代理(也可能是您想要的过滤)
- 证书颁发机构 (CA)...
- 你的软件必须信任
- 代理将用来为拦截的连接颁发证书
请注意安全至关重要您的 CA 私钥必须保密。否则,当有人获得此密钥时,您就真的容易受到 MITM 攻击。
一个流行的 Web 过滤代理是普罗维西。根据其文档,它可以进行 HTTPS 检查。手动的描述以下相关的配置选项:
ca-directory
ca-cert-file
ca-key-file
ca-password
certificate-directory
trusted-cas-file
(这个很重要)
此外,https-inspection
行动需要为特定网站启用:
{+https-inspection}
tasks.office.com