Python 是否有一个“安全”子集可用作嵌入式脚本语言?

2023-12-24

在我创建的许多 Python 应用程序中,我经常创建简单的模块,只包含用作配置文件的常量。此外,因为配置文件实际上是一个 Python 代码文件,所以我可以添加简单的逻辑来根据调试级别等更改变量。

虽然这对于内部应用程序非常有效,但我对将此类应用程序发布到野外持谨慎态度,因为担心有人意外或恶意地向文件添加破坏性代码。使用 Python 作为嵌入式脚本语言也是如此。

是否存在被认为对于嵌入“安全”的 Python 子集?我意识到它的安全程度是相当主观的。然而,Java Applet 和 Flash 都有明确定义的安全沙箱。我想知道是否有一个Python版本有类似的规则?

EDIT:我问的不是因为配置文件方法,而是因为我有兴趣在较新的应用程序中实现一些脚本/插件机制,并且不希望插件或脚本能够删除文件。这超出了应用程序应该能够执行的范围。


以下是一些链接,可让您了解您所面临的问题:

  • 如何安全地运行不受信任的 Python 脚本(即沙箱) https://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20run%20an%20untrusted%20Python%20script%20safely%20(i.e.%20Sandbox)
  • Python 的功能? http://neopythonic.blogspot.com/2009/03/capabilities-for-python.html吉多本人

还有一个已失效的谷歌代码项目http://code.google.com/p/sandbox-python/ http://code.google.com/p/sandbox-python/

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

Python 是否有一个“安全”子集可用作嵌入式脚本语言? 的相关文章

随机推荐

  • 发送电子邮件时子域是否可以保护域的声誉? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我正在开发一个旨在分发数千封电子邮件的应用程序 我们已经开始与 Mandrill 交互来实现这一目标 所以我的同事建议我们使用子域名来
  • 创建与 TDataSet 关联的持久字段组件的代码

    寻找一些示例代码来说明如何创建在运行时TField 与数据集关联的组件 在 IDE 中 如果您放下数据集组件 右键单击会弹出字段编辑器 该编辑器在设计时提供此功能 无法找到显示如何在运行时执行此操作的代码 TIA 每个字段类型都有一个 Cr
  • Django 将表单错误输出为 {{ form.as_table }} 中的表行

    我确实找到了表单输出快捷方式 例如as table真的很方便 然而 在使用这些方法时显示错误对我来说似乎有点违反直觉 当我使用as table格式 我希望按照表格格式显示我的字段特定错误 我可以像这样手动将表格拼凑在一起 table for
  • HTML/CSS 布局数的表达式次方 (a^x)

    我需要在网页中布局一些数学表达式 不能使用 Latex 或 mathML 只能使用纯 HTML 不是 HTML5 例如 我有一个表达式到另一个表达式的幂 a b sqrt c 2x b 第二个表达式应该位于第一个表达式的右侧 稍小一些 并位
  • 在Chrome开发者工具中查看AJAX响应内容?

    传统上我使用 FireBug 来调试 AJAX 请求 它允许您检查请求的内容以及从服务器发回的响应 当发生这些情况时 它还会在控制台中通知您 这是 Chrome 似乎缺乏的有用功能 在 Chrome 中 我似乎只能查看请求 而不能查看响应
  • Phantomjs 与 Google App Engine 集成

    您好 我想知道是否可以在 Google App Engine 上运行 phantomjs 我的用例是使用 Phantomjs 通过 cron 作业拍摄 GAE 上提供的 html 页面的快照 以前这样做过吗 Google App Engin
  • Eclipse 刷新工作空间需要很长时间

    当我启动 Eclipse 准备好开始工作时 我必须坐在那里等待大约 5 或 6 分钟 直到 Eclipse 恢复正常 状态栏中显示 正在刷新工作区 13 而Eclipse 完全冻结了 有什么方法可以关闭它或至少加快这种 刷新 速度吗 UPD
  • Sencha touch 2 - 如何创建动态轮播?

    Sencha Touch 2 如何在sencha touch 2中开发动态轮播 我想将商店中的每个元素显示为轮播中的单独卡片 鲁杜根以此作为答案 在我看来很好 http web archive org web 20121109164506
  • 将 y 刻度向左对齐

    我有可变长度的刻度标签 我想将它们向左对齐 即在较短的标签和 y 轴之间有一个空格 有什么合理的方法可以做到这一点吗 使用水平对齐 左 将它们向左对齐 但它们都从轴开始 因此它们最终位于绘图内部 所以另一个问题可能是 我可以改变他们的起点吗
  • 核心数据错误 133020:保存时合并出现问题:

    首先 我想说我没有使用线程或多个上下文 并且我已经阅读并研究了我可以在 SO 上找到的每个相关答案 我有一个已添加核心数据的项目 但发现不可能找到有害的错误 我每次都可以使用以下代码重现该错误 void tableView UITableV
  • 如何将具有透明度的 PNG 转换为 GDI32(在 C# 中)以将其与 alphaBlend 一起使用?

    我正在尝试用 C 编写一个快速透明类 如何将具有透明度的 PNG 转换为 GDI32 以便与 alphaBlend 一起使用 我尝试直接通过 getHbitmap selectObject 放置它 尝试用 setPixel 在临时 DC 上
  • 如何将位图调整为最大可用尺寸?

    我有非常大的位图图像 我的来源 BitmapFactory Options o new BitmapFactory Options o inJustDecodeBounds true BitmapFactory decodeStream n
  • Oracle:将两个不同的查询合并为一个,LIKE & IN

    我需要实现一个搜索查询 其中我们对数据库 oracle 中的单个列有多个过滤器 值 但是这些多个过滤器 值 是LIKE查询参数 我不确定我是否使用心中的方法预见到了正确的结果 我想要的东西应该像这样 departmentname IN LI
  • 如何使用 UTF8 读取 mysqldump?

    我正在尝试使用命令进行 mysql 转储 mysqldump u xxxx p dbxxx gt xxxx270613 sql 使用 UTF8 获取 mysqldump 的命令是什么 您可以使用以下内容 mysqldump u userna
  • 如何以编程方式设置 iOS 13 字形[重复]

    这个问题在这里已经有答案了 从 iOS 13 开始 Apple 提供了一堆字形 可以used https developer apple com design human interface guidelines sf symbols ov
  • Primefaces 惰性 datascroller 调用加载两次

    我正在尝试将 Datascroller 与 LazyDataModel 一起使用 并且惰性数据模型的加载方法被调用两次 除了认为多次调用加载方法 这可能会执行昂贵的服务器 数据库往返 不太好之外 因为我的惰性数据模型不是幂等的 也就是说 在
  • 用于检查 EC2 实例限制的 API?

    我广泛使用 EC2 实例来测试分布式系统 不幸的是 有时我会达到运行实例的限制 从而导致整个部署失败 我捕获了适当的异常 但我宁愿避免整个部署 也不愿在启动多个实例后失败 为了避免这种情况 我想进行一次飞行前检查 number of run
  • 从单元格中提取最后一个子字符串

    我在一栏中有名字 我需要将该列中的姓氏拆分到另一列中 姓氏从右侧以空格分隔 单元格中的内容A2 Alistair Stevens我在单元格中输入了公式B2 我需要 Stevens 在细胞内B2 我尝试使用以下公式 RIGHT A2 FIND
  • 用于匹配 C++ 字符串常量的正则表达式

    我目前正在开发 C 预处理器 我需要将字符串常量与超过 0 个字母相匹配 如下所示 hey I m a string 我目前正在与此合作 但它在我的一个测试用例上失败了 测试用例 std cout lt lt hello lt lt wor
  • Python 是否有一个“安全”子集可用作嵌入式脚本语言?

    在我创建的许多 Python 应用程序中 我经常创建简单的模块 只包含用作配置文件的常量 此外 因为配置文件实际上是一个 Python 代码文件 所以我可以添加简单的逻辑来根据调试级别等更改变量 虽然这对于内部应用程序非常有效 但我对将此类