Lisp 数据安全/验证

2023-11-24

目前这对我来说实际上只是一个概念性问题。

在 Lisp 中,程序就是数据,数据就是程序。 REPL 正是这样做的——读取然后评估。

那么如何以一种安全的方式获取用户的输入呢?显然这是可能的 - 我的意思是 viaweb - 现在 Yahoo!Stores 非常安全,那么它是如何做到的呢?


REPL 代表读取评估打印循环。

(loop (print (eval (read))))

以上只是概念性的,真正的 REPL 代码要复杂得多(包括错误处理、调试……)。

你可以在 Lisp 中读取各种数据,而无需对其进行评估。评估是一个单独的步骤 - 独立于读取数据。

Lisp中有各种各样的IO函数。所提供的函数中最复杂的通常是 READ,它读取 s 表达式。 Common Lisp 中有一个选项允许在 READ 期间进行评估,但在读取数据时可以而且应该将其关闭。

因此,Lisp 中的数据不一定是程序,即使数据是程序,Lisp 也可以将程序读取为数据 - 无需评估。 REPL 只能由开发人员使用,不应暴露给任意用户。为了从用户处获取数据,可以使用普通的 IO 函数,包括 READ 等函数,它可以读取 S 表达式,但不对其求值。

以下是一些不应该做的事情:

  • 使用 READ 读取任意数据。例如,READ 允许读取非常大的数据 - 没有限制。

  • 在 READ 期间进行评估('read eval')。应该关闭此功能。

  • 从 I/O 读取符号并调用其符号函数

  • 当您的函数需要普通列表时,使用 READ 读取循环数据结构。沿着循环列表走下去可能会让你的程序忙碌一段时间。

  • 读取数据期间不处理语法错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lisp 数据安全/验证 的相关文章

  • EditText.setError 不显示错误文本,仅显示图标

    我的应用程序中有一个简单的验证 这里我使用了四个EdtiText 我显示错误时EditTex不会失去焦点 但问题在于失去焦点EditText只显示图标 没有错误消息 我尝试过使用requestFocus 方法 现在可以看到错误 但问题是 现
  • (Java) 在 Mac OS X 上以编程方式访问“系统根目录”下的 SSL 证书

    我正在编写一个 Java 应用程序 它可以通过远程 Https 站点进行 REST Api 调用 远程站点由受信任的证书签名 它在 Windows 上运行良好 但由于 SSL 证书问题 在 OS X 上运行时遇到问题 我做了一些挖掘 发现原
  • 上传的白名单或黑名单文件扩展名?

    我正在制作一个新闻通讯编辑器 它将允许文件上传 新闻通讯的发件人可以将文件上传到将在电子邮件中链接到的服务器 该站点的设置使得只有 do URI 实际由 servlet 执行 处理 因此不会有太大的安全风险 但有人告诉我将 jsp php
  • 在 Spring Security SAML 身份验证请求中配置 POST ProtocolBinding

    Spring Security SAML 坚持在 SAML 身份验证请求中请求 Artifact 绑定 ProtocolBinding 属性
  • 使用 Ruby 验证 Jenkins 插件表单

    我正在用 Ruby 开发一个 Jenkins 插件 您应该能够配置连接到服务器的每个节点 以便在该节点失去与主服务器的连接时将电子邮件发送到指定的地址 EmailNodeProperty添加一个字段来输入电子邮件地址 Save an ema
  • 未捕获的安全错误:阻止了具有原点的框架...访问具有原点的框架

    我已经为 SAP 解决方案 无论什么 制作了一个组件 该组件通过 iframe 嵌入到报告中 在 SAP 平台 BO 上部署报告后 我收到此错误 在 Chrome 上 但在 IE 或 FF 上也不起作用 Uncaught SecurityE
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • AJAX Rails 验证

    我的表单和验证可以很好地处理常规的 http 请求 我希望它使用 AJAX 我知道我可以在客户端进行验证 但这似乎是多余的 因为我已经在模型中定义了验证 当用户填写表单时 我想就他们的条目向他们提供反馈 在 AJAX 表单中使用 Rails
  • Laravel 验证:对 null 的成员函数调用失败()

    这段代码几天前还可以工作 但我似乎做了一些事情导致它崩溃 我有这条路线 Route post admin routemanagement AdminController addRoute 看起来像这样 public function add
  • 解码 OAEP 填充时出错

    我的问题已经解决了一半 请帮助 我已使用数字签名的公钥成功加密了文本 但在解密时出现错误 解码 OAEP 填充时出错 我的代码如下 region Test Encryption public void a using var rsa new
  • 保护 JSF 应用程序的安全

    我的一位自由职业者朋友邀请我加入他的 JSF 2 0 项目 我正在慢慢加快速度并将各个部分整合在一起 来自 Windows Forms NET 世界 至少可以说 我还有很多东西需要学习 我主要担心的是对于如何保护 JSF 应用程序缺乏明显的
  • Java SWT 用户输入验证

    在 SWT 中进行用户输入验证时 Java 约定是什么 我读到有 FieldEditors 它们是非常方便的字段 但遗憾的是仅适用于首选项和对话框 我还了解到有一个 IValidator 接口 但它经常与数据绑定一起使用 就我而言 我的大多
  • 使用 React Hook Form 和 Yup 进行文件输入验证

    我尝试使用 React Hook Form 进行文件输入验证 是的 我写了下面的代码 但是当我测试文件的大小时 它在这里显示console log value 0 size 即使我在文件输入中选择了一个文件 该值也是未定义的 这有什么问题吗
  • Django GenericIPAddress 字段未验证输入

    你好 我有以下 Django 模型 class AccessPointIPAddress models Model Model for storing AccessPoint IP Addresses ap models ForeignKe
  • JSF:不同验证器标签的不同验证消息?

    在我的 JSF Primefaces 应用程序中 我正在使用 JSF 验证器标签来验证文本框的输入
  • 如何检测CSRF漏洞[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定一个网站 如何检测潜在的 CSRF 漏洞 提前致谢 这是一个CSRF https www owasp org index php
  • AES 在汇编中的实现 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 大家好 我正在尝试构建一个代码来演示
  • 在 Rails 3.2 + SimpleForm 中显示嵌套表单有错误的字段

    我有一个Flight模型嵌套在一个FlightLog模型 AFlightLog可能包含许多航班 我使用 SimpleForm 进行引导安装 这样当验证失败时 可以用错误类包围带有错误的表单元素 问题是 即使触发了嵌套模型的验证 simple
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 如何为移动应用程序创建无密码登录

    我有兴趣在移动应用程序和 API 之间构建某种无密码登录 假设我可以控制两者 动机是必须登录对用户来说非常烦人并且存在安全风险 例如 用户将重复使用现有密码 我希望用户能够立即开始使用该应用程序 我想知道是否有一些可行的技术 例如 在移动设

随机推荐

  • MongooseError:“openUri()”的“uri”参数必须是字符串

    我的代码有问题我在其中使用了这段代码 应用程序 js const mongoose require mongoose const dotenv require dotenv dotenv config mongoose connect pr
  • 如何检查 Windows 窗体是否已打开,如果打开则将其关闭?

    我有一个表格 fm 这是一个简单的信息窗口 每 10 分钟打开一次 fm Show 我怎样才能做到每 10 分钟检查一次表格是否 fm 已打开 如果已打开 则会将其关闭并再次打开 现在 fm 形式始终是用以下命令创建的form fm new
  • 编写包含多个变量的 CSV

    我目前有两个清单 lat 34 78 34 82 34 86 34 92 lon 86 02 86 06 86 10 86 14 我正在尝试编写一个 csv 文件 将它们输出为纬度 经度 34 78 86 02 34 82 86 06 34
  • 事务在触发器中结束 批次已中止

    我在用Sql Server 2008 我有一个Trigger这更新了我的另外两个表 我已阅读堆栈溢出此链接在此输入链接描述 但它并不能完全满足我的需求 下面是我的Trigger ALTER TRIGGER Inventory StockUp
  • 使用 SHFILEINFO 获取文件图标

    我一直在寻找一个 C 库 它可以获取给定路径的多种尺寸的图标 最后当我确切地得到我需要的类时 它有一个问题 此方法获取给定路径的图标 public static BitmapSource GetIcon string FileName bo
  • RESTful 多对多可能吗?

    如何为 REST 帖子表示复杂资源 你好 目前我有一个应用程序 当用户点击 保存 时 它会迭代所有表单元素并创建一个管理以下内容的质量对象 var params attributes1 form1 getValues attributes2
  • PHP get_headers() 报告的标头与 CURL 不同

    怎么可能get headers 可能会返回与通过 CURL 获取不同的结果吗 这是我的代码 header Content type text plain url http www foxbusiness com index html ech
  • 仅在 Firefox 中出现 JQuery AJAX 异常:“无法在层次结构中的指定点插入节点”(HierarchyRequestError)

    非常奇怪的问题 我有一个由两部分组成的下拉列表 其中选择一个州将添加第二个下拉列表 为您提供该州的 MSA 区域列表 这是通过使用向控制器发出 JQuery Get 请求来完成的 该控制器返回选择下拉列表中的区域列表 例如 jQuery f
  • Android 5.0 (Lollipop) 上的拆分操作栏

    有谁知道Android 5 0中是否删除了狭窄功能时的分割操作栏 看起来它对布局不再有任何影响 由于这个问题之前没有得到真正的回答 有谁知道Android 5 0中是否删除了狭窄功能时的分割操作栏 Yes it was 尽管该更改没有记录在
  • 我需要采取哪些步骤才能从类库转换为 WCF?

    我创建了一个项目作为类库 现在我需要将其制作成 WCF 我可以创建一个 WCF 项目 但我想避免所有与 TFS 相关的麻烦 我已经完成了 App config 并将 client wcfTestClient exe 行添加到命令行参数中 但
  • 使用 DOM 将 SVG 元素添加到现有 SVG

    我有一个类似于以下代码的 HTML 结构 div div
  • Magento 目录 URL 重写在处理过程中卡住

    正如标题所示 我的目录 URL 重写索引器卡在处理中 我已经尝试了一切 但找不到解决方案 有谁知道这个问题的可靠解决方法吗 我尝试截断 core url rewrite 表并删除锁 但它仍然处于处理状态 当通过管理运行它时 页面只是继续加载
  • PHP 修改文本文件中的单行

    我尝试并寻找解决方案 但找不到任何明确的解决方案 基本上 我有一个列出用户名和密码的 txt 文件 我希望能够更改某个用户的密码 users txt 文件的内容 user1 pass1 user2 pass2 user3 pass3 我尝试
  • Python 中的嵌套 for 循环

    我想做类似的事情 for a in 0 1 for b in 0 1 for c in 0 1 do something 但是 我可能有 15 个不同的变量 有没有更简单的方法 比如 for a b c in 0 1 do somethin
  • 如何在CKEditor中自动为img标签添加类或属性?

    我使用的是 CKEditor 版本 3 6 我想自动添加class newsleft 到通过所见即所得添加的任何图像标签 我看过一些提到 dataProcessor 的帖子 但不知道应该添加哪个文件或如何添加 有人可以告诉我在哪里放置以下代
  • 使用 Firebase Auth UI 时出现 Android API 31 FLAG_IMMUTABLE 错误

    我在 Firebase Auth UI 库期间在 API 31 设备中收到以下错误 仅电话号码凭据 Fatal Exception java lang IllegalArgumentException com sstech racemana
  • 下拉复选框输入闪亮

    Shiny 中是否可以有一个下拉列表 您可以在其中选择多个值 我知道selectInput有选项可以设置multiple T但我不喜欢所有选定的选项都在屏幕上可见 特别是因为我有超过 40 个选项 这同样适用checkboxGroupInp
  • QueryException SQLSTATE[HY000] [1045] 用户“homestead”@“localhost”的访问被拒绝(使用密码:YES)

    为什么会出现以下错误 QueryException SQLSTATE HY000 1045 用户访问被拒绝 homestead localhost 使用密码 YES My env文件如下 APP NAME Laravel APP ENV l
  • 什么控制 Ember 加载路线的显示位置?

    我本以为LoadingRoute将在中显示其模板 outlet 主 AppView 的 但似乎并非如此 是什么决定了它去往何处 这是一个JS Bin我的问题 加载消息没有出现在我期望的地方 事实上 它看起来是插入到带有 class 的标签的
  • Lisp 数据安全/验证

    目前这对我来说实际上只是一个概念性问题 在 Lisp 中 程序就是数据 数据就是程序 REPL 正是这样做的 读取然后评估 那么如何以一种安全的方式获取用户的输入呢 显然这是可能的 我的意思是 viaweb 现在 Yahoo Stores