首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用G-WAN限制镜像热链接

使用G-WAN限制镜像热链接
EN

Stack Overflow用户
提问于 2012-08-15 16:01:15
回答 1查看 322关注 0票数 0

我想为静态库服务,我想知道G-WAN是否可以限制热链接到指定的文件?

限制图片热链接会很好,但我真正想知道的是,是否有可能禁止热链接图片,但允许以'_thumb‘结尾的热链接图片(缩略图)?

代码语言:javascript
复制
if image_name_wo_ext end with '_thumb':
    allow image hot-linking
else:
    disallow image hot-linking

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-15 21:32:03

下面是如何继续操作:

这可以使用G-WAN "connection handler"或MIME "content-type handler"来完成,如果您想要将检查限制为*.gif或*.png文件:

代码语言:javascript
复制
 http_t *http = (http_t*)get_env(argv, HTTP_HEADERS);

 static char my_site[] = "www.my_site.com";
 if(strcmp(my_site, http->h_referer)) // not my site
 {
    char *request  = (char*)get_env(argv, REQUEST);

    if(strstr(request, "_thumb"))
       return 0; // 0: Close the client connection
 }

 return 255; // continue normally

或者,您可以重定向到另一个页面或图像,而不只是关闭连接:

代码语言:javascript
复制
    char szURI[] = "http://another-place.org";
    xbuf_t *reply = get_reply(argv);
    xbuf_xcat(reply,
              "<html><head><title>Redirect</title></head>"
              "<body>Click <a href=\"%s\">here</a>.</body></html>",
                    szURI);

    // set the HTTP reply code accordingly
    int *pHTTP_status = (int*)get_env(argv, HTTP_CODE);
    if(pHTTP_status)
       *pHTTP_status = 301; // 301:'moved permanently'

    // 2: Send a server reply based on a reply buffer/HTTP status code
    return 2;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11965862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档