问题标签 [trusted-vs-untrusted]
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.
sql - postgres 中的 SQL 以外的语言
我最近一直在使用 PostgreSQL,我认为很酷的一件事是,您可以使用 SQL 以外的语言来编写脚本功能等等。但这实际上什么时候有用呢?
例如,文档说 PL/Perl 的主要用途是它非常擅长文本操作。但这不是更多应该编程到应用程序中的东西吗?
其次,是否有任何正当理由使用不受信任的语言?似乎让任何用户都可以执行任何操作在生产系统上是个坏主意。
PS。如果有人可以使PL/LOLCODE看起来有用,则可以加分。
web-applications - 可以从不受信任的来源安全地执行 TeX 代码吗?
MediaWiki 允许嵌入 TeX 数学代码,这些代码呈现为图像并发布到 Wiki 页面。这安全吗?如果允许不受信任的用户输入要由运行在 Web 服务器中的解释器执行的 TeX 程序,它是否会通过使用 TeX 解释器从服务器磁盘读取文件来打开服务器被黑客攻击?有没有办法安全地执行不受信任的 TeX 代码?
java - Spring Security 集成到活动目录中
我想在 Spring 中使用 Active Directory 查找来验证我的 Web 服务,同时在生产者和消费者处进行 - 在每个都在其下执行的 Principal 下(即服务帐户)。
我假设我必须使用
和
并设置我的
文件。
谁能给我一个从这里去哪里的代码示例?我猜服务帐户名称将需要进入 jaas.config 文件 - 但如果是这样 - 我希望自动填充。
javascript - 保护 SSJS 免受未经验证的代码的攻击
我想使用 node.js(或其他 SSJS 解决方案),在内部运行我自己的代码 + 外部编写的代码(不受信任)。
有什么方法可以分离和保护我自己的代码?我可以限制不受信任代码的模块和系统影响(限制对文件的访问、非 HTTP 端口等)吗?
python - 沙箱执行可能不友好的 python 代码
假设互联网上有一台服务器,可以将一段代码发送到该服务器进行评估。在某个时刻,服务器获取所有已提交的代码,并开始运行和评估它。但是,在某些时候它肯定会碰到某个邪恶程序员发送的“os.system('rm -rf *')”。除了“rm -rf”之外,您还可以预期人们会尝试使用服务器发送垃圾邮件或对某人进行攻击,或者使用“while True: pass”之类的东西胡闹。
有没有办法处理这种不友好/不受信任的代码?特别是我对python的解决方案感兴趣。但是,如果您有任何其他语言的信息,请分享。
iphone - ...(或者它具有有效但不受信任的签名)
iPhone 3GS:构建和安装都很好 新 ipod touch:“这个配置文件没有有效的签名(或者它有一个有效但不受信任的签名)。”
所有相关帖子都说要从头开始配置,但它适用于我的 iPhone 和 iPad,但不适用于 iPod touch。
有任何想法吗?
谢谢。
types - 比较不受信任的简单参数的 Pythonic 方法
我得到了不请求许可的基本理念,只是去做并请求宽恕。例如,它不需要是具有 .read() 方法的文件,稍后当您想要读取类似文件的对象时发现“正常工作”的东西时,您会感谢自己。但是,对于像文件这样的复杂对象,这几乎比像数字这样的简单对象更容易理解。
所以我正在尝试编写一个非常简单的类。细节无关紧要,但它有一个内部计数器,并且当计数器超过限制时必须做一些事情。限制在创建对象时作为参数提供。
现在我正在考虑防御性编程。显然我希望我的限制是一个整数,或者至少是一个比较像整数的东西。它可能比这更弱,因为如果它是一个浮点数,我所做的 >= 测试仍然会提供正确的行为。
虽然类用户会知道这个参数应该是一个整数,但如果不是,我希望对象做一些不出所料的事情。我的第一个想法是检查我是否真的有一个号码
但是这里有很多“不要测试,尝试除外”的答案,所以我知道这是不符合标准的。最好使用限制,并等待抛出异常。所以我在里面试了一下:除了各种限制
如果 limit 是 int 或 float,这可以正常工作。然后我限制了一个字符串或一个元组,与数字比较的对象没有任何明显或合理的定义,并等待捕获异常。但它执行,返回一个布尔值,并保持沉默。
所以我是 RTFM,结果是比较不会引发混合类型的异常,这与“容器中的 x”的操作有关,在任意类型上测试相等性。对于不同的类型,它总是返回 not_equal,但是幅度比较虽然一致,但是是任意的。如果混合类型幅度比较总是返回 False,我也许可以使用它,但它也会很高兴返回 True。
如果我尝试在非数字上使用其他类似整数的行为,我会得到预期的异常,例如这个字符串 + 数字会引发 TypeError
所以我可以说
如果 limit 不是数字,则会引发所需的异常。但这感觉几乎是模糊的。我正在对表达式做一些额外的事情,以便在后门进行类型测试。任何代码优化器或其他编辑器都会删除明显冗余的算术运算。这就像看物体是否与鸭子一样重,看它是否由木头制成,因此可以像女巫一样被烧毁(有点)。
一个更明确的可能性是
至少有一些内置的解释。它并没有完全按照我在所有情况下想要发生的事情发生,但它目前已经足够了,它不会让任何人感到惊讶。
那么WWGD?当你想要做的只是比较它的大小时,安全地使用不受信任的参数的pythonic方法是什么?
javascript - 纯 JavaScript 沙箱
这是纯 JavaScript 沙箱的可能解决方案吗?我的意愿是执行不受信任的代码字符串,而不授予对 DOM、窗口、this 等的访问权限,但允许用户访问 Math、JSON 和其他功能。我已经在 Chrome 上测试过了。
更新:我想提供保存服务器用户定义代码并使其可供其他用户使用的可能性。我正在寻找一种方法来拒绝访问文档 ni 以使其安全。
我在一个旧帖子上提出了它:https ://stackoverflow.com/a/11513690/76081
谢谢!
ssl - 在服务器端检测不受信任的 SSL 访问?
问题
有没有办法检测访问者是否信任 SSL 连接/证书?我真的在网上或 stackoverflow 上找不到任何东西。我认为这是一个非常罕见的问题。
用例
我正在使用来自 StartSSL 的证书。它适用于大多数常见和现代浏览器。但是在使用 IE 的 Windows Phone 上,我收到了警告。这是因为默认情况下,Windows Phone 上的 IE 不知道根证书。
解决方案很简单:只需下载证书 - 两次点击/点击。我想为普通访问者提供一个关于如何做到这一点的小指南。但是,只有有问题的访客才能收到消息。
encryption - HMAC的args顺序?
如果我多次向不受信任的一方发送以下响应:
其中 c 是从响应到响应的相同值。
其中 v 因响应而异。
其中 + 是一个连接。
将常量作为 HMAC 输入的开始是否会“削弱”HMAC?
首先使用变量参数计算 HMAC 是否更安全:
或者也许没关系?