gpt4 book ai didi

security - Lisp阅读器输入中的关键字是否危险?

转载 作者:行者123 更新时间:2023-12-01 09:26:29 25 4
gpt4 key购买 nike

在 Doug Hoyte 的 Let Over Lambda 的第 102 页上,作者谈到了他的 safe-read-from-string 函数:

That means that vectors, bit-vectors, gensyms, circular references, #., and all the rest are out. Safe-read-from-string will not even allow keywords or foreign package symbols.

我绞尽脑汁想出关键字符号的邪恶用途。他们是为了方便而被排除在外,还是可以用他们做坏事?

最佳答案

您创建安全的阅读器,例如该示例,因为您希望保护您的软件免受不当输入。不恰当的范围非常大,例如您的攻击者可以向您提供大量随机符号名称,以期耗尽内存。

所以安全的读者是偏执的。如果你需要一个安全的阅读器,一个好的做法是从一个没有能力的阅读器开始,然后开始添加你必须拥有的东西。但这很乏味。因此,另一种方法是丢弃大量功能,然后仅在需要时才将它们添加回来。该示例说明了第二种情况。他丢失了关键字,因为他想消除对包的任何访问。关键字只是附带损害。

这个例子很好,因为它非常简洁易懂。

关于security - Lisp阅读器输入中的关键字是否危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com