当前位置:首页 > 电脑知识

Calibre-Web修复跨域问题

canca1周前 (01-20)电脑知识41
  1. 修改D:\calibre-web-master\cps\web.py文件

    原来代码

    def add_security_headers(resp):
        default_src = ([host.strip() for host in config.config_trustedhosts.split(',') if host] +
                       ["'self'", "'unsafe-inline'", "'unsafe-eval'"])
        csp = "default-src " + ' '.join(default_src)
        if request.endpoint == "web.read_book" and config.config_use_google_drive:
            csp +=" blob: "
        csp += "; font-src 'self' data:"
        if request.endpoint == "web.read_book":
            csp += " blob: "
        csp += "; img-src 'self'"
        if request.path.startswith("/author/") and config.config_use_goodreads:
            csp += " images.gr-assets.com i.gr-assets.com s.gr-assets.com"
        csp += " data:"
        if request.endpoint == "edit-book.show_edit_book" or config.config_use_google_drive:
            csp += " *"
        if request.endpoint == "web.read_book":
            csp += " blob: ; style-src-elem 'self' blob: 'unsafe-inline'"
        csp += "; object-src 'none';"
        resp.headers['Content-Security-Policy'] = csp
        resp.headers['X-Content-Type-Options'] = 'nosniff'
        resp.headers['X-Frame-Options'] = 'SAMEORIGIN'
        resp.headers['X-XSS-Protection'] = '1; mode=block'
        resp.headers['Strict-Transport-Security'] = 'max-age=31536000'
        return resp

    修改为以下代码

    def add_security_headers(resp):
        default_src = ([host.strip() for host in config.config_trustedhosts.split(',') if host] +
                       ["'self'", "'unsafe-inline'", "'unsafe-eval'"])
        csp = "default-src " + ' '.join(default_src)
        if request.endpoint == "web.read_book" and config.config_use_google_drive:
            csp +=" blob: "
        csp += "; font-src 'self' data:"
        if request.endpoint == "web.read_book":
            csp += " blob: "
        csp += "; img-src 'self'"
        if request.endpoint == "web.read_book":
            csp += " https: http: blob:"  
        if request.path.startswith("/author/") and config.config_use_goodreads:
            csp += " images.gr-assets.com i.gr-assets.com s.gr-assets.com"
        csp += " data:"
        if request.endpoint == "edit-book.show_edit_book" or config.config_use_google_drive:
            csp += " *"
        if request.endpoint == "web.read_book":
            csp += " ; style-src-elem 'self' blob: 'unsafe-inline'"
        csp += "; object-src 'none';"
        resp.headers['Content-Security-Policy'] = csp
        resp.headers['X-Content-Type-Options'] = 'nosniff'
        resp.headers['X-Frame-Options'] = 'SAMEORIGIN'
        resp.headers['X-XSS-Protection'] = '1; mode=block'
        resp.headers['Strict-Transport-Security'] = 'max-age=31536000'
        return resp

    cps增加http:和https:,支持外部图片资源

  2. 修复JS报错:D:\calibre-web-master\cps\static\js\libs\reader.min.js

    将原来

    this.rendition=c.renderTo("viewer",{ignoreClass:"annotator-hl",width:"100%",height:"100%"})
  3. 修改为

    this.rendition=c.renderTo("viewer",{ignoreClass:"annotator-hl",width:"100%",height:"100%",allowScriptedContent:true})

    增加 allowScriptedContent:true 参数

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/899.html

分享给朋友:

“Calibre-Web修复跨域问题” 的相关文章

内存不能被read或written错误,系统不停重启

运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。 “0x????????”指令引用的“0x????????”内存。该内存不能为“read”。 “0x????????”指令引用的“0x????????”内存,该内存不能为“written”。 一般出现这个现象...…

主板电容的作用

    电容又称电容器(Capacitor)。它在电路中起着隔直流、通交流的重要作用。电容根据其在电路中不同位置的不同功能,分为耦合电容、滤波电容、谐振电容、旁路电容等类别。另外,电容也可按照填充材料(电介质)进行…

0X????????”指令引用的“0x00000000”内存,该内存不能为“read

使用Windows操作系统的人有时会遇到这样的错误信息: 「“0X????????”指令引用的“0x00000000”内存,该内存不能为“read”或“written”」,然后应用程序被关闭。 如果去请教一些「高手」,得到的回答往往是「Windows就是这样不稳定…

office2003无法正常安装卸载问题解决

一、症状:1。点OFFICE里面的任何一个,比如WORD就会弹出一个错误的提示筐,说的是:这个操作只对当前安装的产品有效,无法运行该命令。系统里面的一些 OFFICE文档也是无法识别的。现在想把OFFICE2003删除,可在控制面板的"添加/删除程…

网络命令net user/net localgroup

很简单的一个网络命令,好多教程都有写: net user: 在运行处输入net user /?可以看到net user 的语法和参数。 net user 可以让我们很方便的为系统添加一个用户并设置密码 net user sky /add:向系统添加一个用户为sky net user sky 1234…

IE高级选项:允许活动内容在我的计算机上的文件中运行 对应注册表选项

IE高级选项:允许活动内容在我的计算机上的文件中运行 选中 对应的注册表选项 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN]"iexp…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。