python - 从 HTML 表单运行 Python 代码

标签 python html web.py

我正在使用 webpy 创建一个 Web 服务器,现在我有一个简单的表单和一个我编写的特殊类。我希望用户能够将代码写入表单,如果输入是函数调用,则调用用户提交的函数,如果不是函数调用,则对输入执行任何操作。我相信这必须在模板文件的某处实现?任何帮助将不胜感激

最佳答案

如果我没理解错的话,您正在寻找一种方法来在服务器上运行客户端提交的代码,从表单中获取输入。

因此假设您有一个看起来像这样的表单模板(注意 textarea 元素的名称):

<form method="POST">
<textarea name="code" />
<input type="submit">
</form>

您需要向您的页面类添加一个 POST 方法来处理输入并运行代码:

class MyPage:
    def POST(self):
        data = web.input()
        eval(data.code)

不是您应该使用您不完全信任的任何人都可以访问的表单来做的事情,因为它提供了在您的网络服务器上运行他们想要的任何代码的能力(例如他们可以轻松地尝试删除服务器上的所有文件)。但是,如果您可以接受安全风险或只是随便玩玩,请务必阅读 Python 的文档 eval查看可以传递给它的其他参数。

关于python - 从 HTML 表单运行 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691265/

相关文章:

python - 带登录名的 Web.py 待办事项列表

python - web.py 应用程序上的 Pytests 未覆盖方法代码

python - 数据集中只有一个索引标签

python - mongodb:查询列表中的值(而不是对象)

jquery - 根据 jQuery 中的 html 值选择一个元素

javascript - 如何使用 Angular 图表更改标签的颜色

python - 不显示自定义 libindicator 图标

python - 如何减去 pandas 数据帧 1 列中的数字?

java - 我是否需要传单 map 源代码才能在 HTML 中使用?

python - Web.py db.insert() 不插入行