我想应该有一些标准的方法,只是为了避免每个人为他们的应用程序重新设置枯燥的常量.;)我正在寻找一个功能(可在Linux上的php web应用程序中使用),它可以采用两个ISO639语言代码并返回第二语言的第一语言的名称,即
应返回并应返回.foo("fr","de")"französisch"foo("de","fr")"allemagne"
在那儿?
我无法理解下面的CSP违规报告(由FireFox 44.0.2/Ubuntu发送).这里真正被阻止的是什么?为什么?应该注意的是,如果我写'self'或(在报告中自动翻译)https://www.example.com到CSP标题中并不重要.此外,我不知道渲染页面中缺少任何内容.那我该怎么办呢?(显然,如果每个页面都触发虚假违规报告,我不应该在我的实际网站中添加报告)
{
"csp-report":{
"blocked-uri":"self",
"document-uri":"https://www.example.com/foo/bar/baz.html",
"original-policy":"report-uri https://reportserver.example.com/ContentSecurityPolicy-report.php;
default-src https://www.example.com;
style-src https://example.com https://www.example.com https://fonts.googleapis.com;
script-src https://www.example.com https://code.jquery.com https://ajax.googleapis.com;
font-src https://fonts.gstatic.com",
"referrer":"https://www.example.com/foo/bar/wtf.html",
"source-file":"https://www.example.com/foo/bar/baz.html",
"violated-directive":"style-src https://example.com https://www.example.com https://fonts.googleapis.com"
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下命令行将普通 PDF 文件转换为 PDF/A:
gs -dPDFA -dBATCH -dNOPAUSE -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)
但是,我收到消息
GPL Ghostscript 9.26: UTF16BE text string detected in DOCINFO cannot be represented in XMP for PDF/A1, reverting to normal PDF output
Run Code Online (Sandbox Code Playgroud)
gs 恢复为普通 PDF。显然,该消息源于gs 的这个代码片段,但我们在那里读到该消息仅在pdev->PDFACompatibilityPolicy == 0. 我的理解是-sPDFACompatibilityPolicy=1命令行中的参数旨在防止这种情况。
问:为什么 gs 表现得好像所需的策略是 0 而不是 1?还有另一种方法可以将策略设置为 1 吗?
此外,正如它让我感到好奇:
问:有没有办法查看导致原始问题的奇怪 DOCINFO 类型或首先预防它?使用 Acrobat Reader,我看不到文件中的任何“可疑”内容。如果有帮助: input.pdf 是在 Word 的 Window 上生成的(我什至尝试使用 UseISO19005-1 设置,该设置应该生成 PDF/A,但无论如何都会出现问题)。
我正是处于这个问题中描述的中小企业的情况。该提问者找到的解决方案是
完全访问权限!== 所有者。我需要更好地阅读文档。
是的。我注意到我只能授予对服务帐户的完全访问权限。我一遍又一遍地阅读该文档,但找不到使我的服务帐户成为所有者的方法。那么可以和我一起阅读吗?(来源):
请按照建议的步骤验证您的财产所有权。
验证您的资源后,打开 Search Console。
单击您已验证的财产。
从已验证属性旁边的“设置”齿轮中选择“验证详细信息”。
在“已验证所有者”下,单击“添加所有者”。
将您的服务帐户电子邮件地址作为所有者添加到该资源。
广告 1:我很久以前就验证了我对相关财产的个人所有权(通过 HTML 文件和 DNS 记录,见下文)。
广告 2/3:在搜索控制台中,我可以从所有已验证属性的列表中“单击”所需的属性。
广告4:这一步很困难。我已验证的财产旁边没有设置装备。<nav>最接近的匹配是左侧垂直栏中的设置齿轮,大约位于属性选择下方的屏幕长度处。不过,没有什么可以从齿轮中“选择”的 - 它只是一个指向设置页面的普通旧链接https://search.google.com/search-console/settings?resource_id=sc-domain%3AXXXXXX
不管怎样,在这个设置页面上,我看到以下信息:“属性设置”部分包含三个项目:
还有一个“删除属性”按钮,接下来是有关索引爬虫的“关于”部分。顺便说一句,在“用户和权限”旁边的链接下,我能够将我的服务帐户添加为具有不受限制访问权限的用户 - 唉,据我们所知,这还不够;我对此用户唯一能做的就是再次撤销其权利。
可以认为与上述文档的步骤 4 远程相关的唯一剩余可能操作是点击“所有权验证”旁边的链接。不幸的是,这是一个死胡同:它列出了我的所有权验证的详细信息(使用的验证方法,可能的其他验证方法)。
广告 5:在我为第 4 点所做的所有尝试中,没有任何选项可以添加新的(委托)所有者,根本没有。
如果我只是授权所有者,而不是经过验证的所有者,那么缺乏添加新所有者的能力可能是可以解释的,对吧?但是,该页面显示我是经过验证的所有者,已通过 HTML 文件和 DNS 记录进行验证。
问:谁可以帮助我更好地阅读文档并为我的服务帐户授予足够的权限以允许其使用索引 API?
众所周知,我们可以简化
SELECT * FROM A WHERE X=1 OR X=4 OR X=9
Run Code Online (Sandbox Code Playgroud)
如下:
SELECT * FROM A WHERE X IN (1,4,9)
Run Code Online (Sandbox Code Playgroud)
“多维”条件是否有类似的快捷方式,如下所示:
SELECT * FROM A WHERE (X=1 AND Y=2) OR (X=4 AND Y=3) OR (X=9 AND Y=5)
Run Code Online (Sandbox Code Playgroud)
以类似这样的形式
SELECT * FROM A WHERE [X,Y] IN ( [1,2], [4,3], [9,5] )
Run Code Online (Sandbox Code Playgroud)
?
我愿意将任何使用 O(n) 字符的简化计算在内,其中因子明显小于天真示例中的因子(即,再添加一个案例会使查询字符串增长小于OR (X=... AND Y=...)),即使可能还有更多不断的开销。