【问题标题】:Can a client view the source code of a server-side python application [closed]客户端可以查看服务器端python应用程序的源代码[关闭]
【发布时间】:2013-07-18 22:31:19
【问题描述】:

我开始学习编程语言了。

我在 PHP 和 Python 之间挣扎。

我想建立一个网站并将字符串从表单解析到数据库。 但我刚刚读到,你不能隐藏 python 程序的源代码。

所以问题来了。 我不想让别人看到我这边是怎么计算的。如果python程序只是在服务端运行,那么客户端执行后能看到python代码吗?

对不起,如果这是一个非常新的问题。

【问题讨论】:

  • 不,无论哪种情况,客户端都无法下载您的 PHP 或 Python 代码。不过,他们会看到您的客户端 HTML 和 JavaScript。
  • 客户端不会看到python或PHP的源代码,只会看到生成的HTML。

标签: php python html


【解决方案1】:

在客户端,Web 浏览器只能看到服务器端代码生成的输出,前提是服务器配置正确。该输出将是 HTML、CSS、JavaScript 等——浏览器可以使用的东西。浏览器通常无法处理 Python,因此没有理由将 Python 代码发送给浏览器。所以答案是肯定的;除非您明确允许,否则您网站的用户无法看到服务器上运行的代码。

【讨论】:

    【解决方案2】:

    当应用程序在服务器上运行时,客户端只能看到服务器提供的数据。所以,如果服务端没有专门与客户端共享源代码,客户端将无法读取。

    如果您将解释的应用程序分发给任何人,那么您就是将源代码提供给他们,他们可以阅读它。这适用于 Python、Perl、Ruby 和许多其他语言。来自编译语言(如 C、C++、Java)的二进制文件作为二进制文件共享。您共享机器可读的编译内容,而不是人类可读的内容(源代码)。现在,由于它是机器可读的,所以有一些称为“反编译器”的东西可以将二进制文件转换为文本,甚至可以将其变成非常有用和高可读性的文本——可读源代码。如果在编译器创建二进制文件时启用调试,这就更容易了

    【讨论】:

      【解决方案3】:

      其他人无法从他们的浏览器中看到您的服务器端代码。他们只能看到 HTML/CSS/(未加密的)JavaScript 等。因此,您使用哪种服务器端语言并不重要。

      【讨论】:

        【解决方案4】:

        如果您使用 php/python 来生成 html(这里似乎就是这种情况),那么用户能够在客户端看到的唯一内容就是呈现的 html 代码(使用浏览器的查看源选项) 但如果您担心的是,他们看不到您的 python/php 逻辑/代码。

        【讨论】:

          猜你喜欢
          • 2021-07-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-12
          相关资源
          最近更新 更多