利用百度云加速边缘计算自定义防盗链

设置添加以下函数即可:

addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request))
})

/**
 * Fetch and log a request
 * @param {Request} request
 */
const ErrorPageHotLink = `
<!DOCTYPE html>
<html>
<body>
<h1>Error Page</h1>
<p>此网站的管理员禁止盗链此资源</p>
</body>
</html>
`;
// 防盗链错误页面
async function rawHtmlResponse(html) {
    const init = {
        status: 403,
        headers: {
            'content-type': 'text/html;charset=UTF-8',
        },
    };
    return new Response(html, init);
}
async function handleRequest(request) {
    const refer = request.headers.get('referer')
    // 自定义判断refer来进行错误页面返回
    if (refer === null || refer === '') {
        return rawHtmlResponse(ErrorPageHotLink);
    }
    const response = await fetch(request);
    return response;
}
演示地址
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
搜索