【问题标题】:Security & Pyscript安全与脚本
【发布时间】:2022-06-15 00:01:36
【问题描述】:

我正在编写一个 Python 编辑器,它可以执行 Python 代码并返回输出。我最初的想法是为它编写一个后端服务,它将运行 Python 脚本并返回输出。但是随着 Pyscript 的发布,我想知道我是否可以在前端做到这一点。

我最大的担忧之一是安全性,因为 Python 编辑器可能需要连接 AWS 资源(例如数据库、Dynamodb、RDS...)。使用凭证连接 AWS 资源是否会成为安全问题?如我所见,Pyscript 也在混淆 Python 代码,因此我有点困惑。

感谢您的回复

【问题讨论】:

    标签: python security pyscript


    【解决方案1】:

    但是随着 Pyscript 的发布,我想知道我是否可以在 前端。

    是的。网上有例子。这个仓库在浏览器中有一个 repl 的例子:

    https://github.com/pyscript/pyscript/tree/main/pyscriptjs/examples

    我最大的担忧之一是安全性,因为 Python 编辑器 可能需要连接 AWS 资源(例如 Databases、Dynamodb、 RDS...)。使用凭证连接 AWS 资源是否安全 担心吗?

    这是一个非常大的问题。 Pyscript 将在 Python 代码中公开您的凭据,这些代码可以从浏览器调试窗口中轻松读取,或者只需使用 CLI(例如 curlwget)下载您的 HTML。

    正如我所见,Pyscript 也在混淆 Python 代码,因此我是 有点迷茫。

    我不确定您看到了什么混淆,但您无法从浏览器或可以下载 HTML 和 Python 文件的工具中隐藏任何内容。这不会提高您的安全性,因为您使用 Pyscript 的源代码安全性为零。

    【讨论】:

      【解决方案2】:

      编辑:请参阅下面 John Hanley 的评论,解释为什么我的想法行不通。


      您不能将凭据放在服务器上的一个文本文件中,放在公众无法访问的文件夹中吗?然后在<py-script> 标签内,运行:

      with open("../../secure_directory/my_secrets.txt") as f:
          my_secrets = f.read()
      

      这会稍微提高安全级别吗?

      【讨论】:

      • 为了让 Pyscript 运行您的示例,服务器文件 my_secrets.txt 必须可由在浏览器中运行的 Python 读取。这也意味着用户也可以在浏览器中阅读这些秘密。一旦下载了密钥,它就安全了。最重要的是,JavaScript 还可以访问文件 my_secrets.txt,这使得获取该秘密非常容易。
      【解决方案3】:

      解决方案是使用py-env标签,但是

      【讨论】:

        猜你喜欢
        • 2013-03-04
        • 2017-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-31
        • 2011-11-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多