问题标签 [whitelist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - 使用 XSLT 1.0 将字符串限制为列入白名单的字符
问题
使用 XSLT 1.0,给定一个带有任意字符的字符串,我如何才能取回符合以下规则的字符串。
- 第一个字符必须是以下之一:az、AZ、冒号或下划线
- 所有其他字符必须是上述任何字符或 0-9、句点或连字符
- 如果任何字符不符合上述规则,请用下划线替换
背景
在 XSLT 中,我将一些属性转换为元素,但我需要确保该属性不包含任何不能在元素名称中使用的值。我不太关心被转换为名称的属性的完整性,只要它被可预测地转换。我也不需要补偿元素名称中的每个有效字符(有一堆)。
我遇到的问题是带有空格的属性,翻译函数可以轻松地将其转换为下划线:
但是不久之后我发现了一些使用斜线的属性,所以我现在也必须添加它。这将很快失控。我希望能够定义允许字符的白名单,并用下划线替换任何不允许的字符,但翻译的工作原理是从黑名单中替换。
java - 如何将类型添加到 GWT 的序列化策略白名单?
GWT 的序列化程序支持有限java.io.Serializable
,但出于安全原因,它支持的类型有一个白名单。我找到的文档,例如这个 FAQ 条目说你想要序列化的任何类型“必须包含在序列化策略白名单中”,并且该列表是在编译时生成的,但没有解释编译器如何决定白名单上发生了什么。
生成的列表包含许多属于标准库的类型,例如java.lang.String
和java.util.HashMap
。尝试序列化时出现错误java.sql.Date
,它实现了Serializable
接口,但不在白名单上。如何将此类型添加到列表中?
javascript - 为什么将您的 Javascript 文件移动到您也拥有的不同主域?
我注意到,就在去年左右,许多主要网站都对其页面结构进行了相同的更改。每个人都将他们的 Javascript 文件从托管在与页面本身(或其子域)相同的域上移至托管在不同名称的域上。
这不仅仅是并行化
现在,有一种众所周知的技术可以将页面组件分布到多个域以并行下载。 雅虎和许多其他人一样推荐它。例如,www.example.com是托管 HTML 的地方,然后您将图像放在images.example.com上,将 javascripts 放在scripts.example.com上。这绕过了这样一个事实,即大多数浏览器都会限制每台服务器的同时连接数,以便成为优秀的网民。
以上不是我要说的。
它不仅仅是重定向到内容交付网络(或者可能是——见问题的底部)
我所说的是专门在一个完全不同的域上托管 Javascript。让我具体一点。就在去年左右,我注意到:
youtube.com已将其 .JS 文件移至ytimg.com
cnn.com已将其 .JS 文件移至cdn.turner.com
weather.com已将其 .JS 文件移至j.imwx.com
现在,我知道像Akamai这样专门为大型网站外包的内容交付网络。(特纳的特殊领域中的名称“cdn”让我们了解这个概念在这里的重要性)。
但请注意这些示例,每个站点都有自己为此目的专门注册的域,而不是内容交付网络或其他基础设施提供商的域。事实上,如果您尝试从这些脚本域中的大多数加载主页,它们通常会重定向回公司的主域。如果您反向查找所涉及的 IP,它们有时似乎指向 CDN 公司的服务器,有时则不是。
我为什么在乎?
以前在两家不同的安全公司工作过,我对恶意 Javascript 感到偏执。
因此,我遵循将允许 Javascript(和其他活动内容,如 Java)在其上运行的站点列入白名单的做法。因此,要使cnn.com这样的网站正常运行,我必须手动将cnn.com放入列表中。这是背后的痛苦,但我更喜欢它而不是替代方案。
当人们使用像scripts.cnn.com这样的东西来并行化时,使用适当的通配符可以很好地工作。当人们使用 CDN 公司域之外的子域时,我可以只允许 CDN 公司的主域在前面加上一个通配符,然后用一块石头杀死许多鸟(例如 *.edgesuite.net 和 *.akamai.com)。
现在我发现(截至 2008 年)这还不够。现在我必须在我想列入白名单的页面的源代码中四处寻找,并找出该站点用于存储其 Javascript 的“秘密”域(或域)。在某些情况下,我发现我必须允许三个不同的域才能使站点正常工作。
为什么所有这些主要网站都开始这样做?
编辑:好的,正如“onebyone”所指出的,它似乎与内容的 CDN 交付有关。所以让我根据他的研究稍微修改一下这个问题......
为什么weather.com使用j.imwx.com而不是twc.vo.llnwd.net?
为什么youtube.com使用s.ytimg.com而不是static.cache.l.google.com?
这背后一定有道理。
apache - Apache 白名单反向代理
我们这里有一个反向代理,在 2.2.x 版本中运行 Apache 本质上我想创建一个白名单,以便只有有效的 URL 将通过代理并由 Web 服务器处理。您如何在 Apache 配置文件中执行此操作,或者您是否需要使用 SQUID?
gmail - Yahoo、Gmail、Hotmail 和 AOL 是否有白名单?
在我的网站(正在开发中)中,成员可以互相发送消息,这些消息直接发送到他们的电子邮件,现在我担心一些成员可以向其他成员发送垃圾邮件(我有一个垃圾邮件过滤器,但它不给如您所知,100% 保护),我担心我的域可能会在 Yahoo、Gmail、Hotmail 或 AOL 上被列入黑名单,这会导致从我的域发送的任何邮件最终进入垃圾邮件文件夹,这就是我想添加的原因我网站的域到他们的白名单(如果存在)。
PS 我不想使用会员在网站上查看的私人消息,我有这样做的理由。
谢谢
.net - 白名单模型绑定似乎不适用于复杂的属性
我有一个如下所示的 POST 操作:
我正在使用默认模型绑定器,并且凭据是我的 User 对象上的一个属性。凭据有两个字段(电子邮件地址和密码)。如果我删除白名单,凭据对象会被绑定并且一切都按预期工作。但是,如果我提供该白名单,用户角色会被绑定,但复杂属性上的电子邮件和密码不会。我检查了表单值,当我列出它们并且它们与我的对象匹配时,它们很关心。
我错过了什么吗?
attributes - 如何使用 HTMLpurifier 将某些属性列入白名单?
如何使用 HTMLpurifier 将某些属性列入白名单?我希望 HTMLpurifier 删除所有其他不允许的属性。
python - python/django中的电子邮件白名单/黑名单
我正在编写一个 django 应用程序,它跟踪允许哪些电子邮件地址将内容发布到用户的帐户。用户可以根据需要将地址列入白名单和黑名单。
任何未指定的地址都可以按消息处理,也可以默认为白名单或黑名单(再次由用户指定)。
这是我写的 django 模型......你认为这是一个好方法吗?还是应该为每个用户的配置文件模型添加白名单和黑名单字段?
然后我可以做类似的事情:
有没有更好的办法?
windows - 适用于 Windows 的最佳白名单 http 代理?
我想在我的工作机器上设置一个 http 代理(没有管理员权限,WinXP),只允许访问 URL 白名单。什么是最简单的解决方案?如果可能的话,我更喜欢开源软件。
flash - 如何对 Flash 应用程序进行站点锁定?
我有一个 Flash 应用程序,我很快就会在我的网站上发布它。我希望能够将其“锁定”到该站点以防止:
- 在另一个站点上托管 .SWF(在非法下载之后),以及
- 如果 .SWF 包含在另一个站点的 iFrame 中,则阻止打开
同时允许:
- 无需我定义 URL 的所有变体即可通过/启用的网站白名单(即:www.abc.com、abc.com、abc.com/game/、games.abc.com 等)
有一些商业应用程序需要花费数百美元来执行这项任务,但我很确定它可以通过以下方式完成:
不知何故。有没有人知道如何去做这件事?我最担心的是 iFrame 预防,因为当网站窃取闪存时,他们通常只是 iframe 到您自己的网站以节省带宽成本。
我使用的是 Flex SDK(不是 Flash IDE),所以一些纯 AS3 代码可以帮到我。