tencent cloud

Feedback

Custom Referer Anti-leeching

Last updated: 2023-10-30 17:45:01
    Referer anti-leeching technology is a strategy adopted by websites to protect their resources and prevent other websites from illegally using their content. This example determines the request sources by checking the Referer field in the HTTP request header. You can flexibly customize the matching rules for this Referer. If the Referer does not exist or does not match the allowed domain list, the Edge functions will reject the request and return a 403 status code.
    async function handleRequest(request) {
    // Collect the Referer
    const referer = request.headers.get('Referer');
    
    // If the Referer is empty, access is denied
    if (!referer) {
    return new Response(null, { status: 403 });
    }
    const urlInfo = new URL(request.url);
    const refererRegExp = new RegExp(`^https?:\\/\\/${urlInfo.hostname}\\/t-[0-9a-z]{10}\\/.*`)
    // If the Referer is not on the allowlist, access is denied
    if (!refererRegExp.test(referer)) {
    return new Response(null, { status: 403 });
    }
    
    // Normal request, access EdgeOne node cache or origin-pull
    return fetch(request);
    }
    
    addEventListener('fetch', event => {
    // When the function code throws an unhandled exception, the Edge function transmits this request back to the origin
    event.passThroughOnException();
    event.respondWith(handleRequest(event.request));
    });

    Example Preview

    Enter the URL that matches the Edge function triggering rules in the address bar of the browser on the PC end and mobile end (e.g., https://example.com/images/ef-1.jpeg) to preview the example effect.
    HTTP request header Referer is https://example.com/t-0123456789/page, and the Edge function responds normally to the image.
    
    
    
    HTTP request header Referer is not on the allowlist, and the Edge function identifies it as a leeching link and responds with a 403 status code.
    
    
    

    Related References

    
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support