【问题标题】:Django 403 Forbidden Error on using External image使用外部图像时出现 Django 403 禁止错误
【发布时间】:2015-11-05 01:52:21
【问题描述】:

我正在使用 Django 模板来显示电影海报的缩略图。这是我的视图代码:

@csrf_exempt
def hello(request):
    t = get_template('index.html')
    c = django.template.Context({'test':'http://ia.media-imdb.com/images/M/MV5BMjIwNTYzMzE1M15BMl5BanBnXkFtZTcwOTE5Mzg3OA@@._V1_SX300.jpg'})
    return HttpResponse(t.render(c))

在我的模板中,我正在尝试使用此图像来显示缩略图:

<li>
  <img src="{{ test }}" alt="" title="" class="property_img"/>
</li>

我收到此错误:

GET http://ia.media-imdb.com/images/M/MV5BMjIwNTYzMzE1M15BMl5BanBnXkFtZTcwOTE5Mzg3OA@@._V1_SX300.jpg403(禁止)

我的本​​地静态文件正在运行,但如果我想从网络服务器获取图像怎么办?

【问题讨论】:

标签: python html django


【解决方案1】:

这是由ia.media-imdb.com 的 Web 服务器(Apache、Nginx 等)引起的。

他们的网络服务器将检查每个访问者的 HTTP REFERER 标头,并且仅当访问者来自某些域时才允许访问图像。

这是限制hotlinking to images 数量的常用设置(当人们直接链接到其他主机上的图像文件时)。热链接通常会被阻止,因为它会在没有真正让网站真正访问者的情况下导致流量。

一种解决方案是链接来自不同站点的图像,这不会阻止盗链。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 2022-07-15
    • 2018-12-08
    • 2015-11-13
    • 2016-01-12
    • 2013-07-19
    相关资源
    最近更新 更多