如何用pyramid获取请求站点的url

How to get the url of the requesting site with pyramid

我正在用金字塔写一个小应用程序。一个视图使用 FileResponse 提供文件。我想做的是将这些文件限制在某些域中。

如果此站点 http://www.example.com/index.html 包含如下文件:

<img src="http://myapp.com/servethisfile" />

我想知道从我的应用程序请求文件的站点的域。 (example.com)

限制必须在视图中完成,好像会在运行时发生变化。

浏览器在执行请求时在 HTTP header 中发送引荐来源网址。虽然它很容易被黑客攻击,但我不会依赖它来保护重要的东西。

在 Pyramid 中,您可以在 request.referrer 中访问 header。

http://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.referer