2012-08-15 1 views
0

Je souhaite diffuser des galeries statiques et j'aimerais savoir si G-WAN peut restreindre la liaison à chaud à des fichiers spécifiés? La restriction du lien hypertexte d'image serait bonne, mais ce que je veux vraiment savoir s'il y a possibilité d'interdire des images de liaison à chaud mais permettre des images de liaison à chaud que le nom se termine par «_thumb» (miniatures)?Restriction de la liaison à chaud d'image avec G-WAN

if image_name_wo_ext end with '_thumb': 
    allow image hot-linking 
else: 
    disallow image hot-linking 

Merci!

Répondre

3

Voici comment procéder:

Ceci est peut être fait avec un G-WAN "connection handler" ou avec un MIME "content-type handler" si vous voulez limiter le chèque à * .gif ou .png *:

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 

vous pouvez rediriger vers une autre page ou une image au lieu de simplement fermer la connexion:

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; 
Questions connexes