代码之家  ›  专栏  ›  技术社区  ›  Jason

我应该使用PHP还是Perl来处理我的数据并用MySQL存储/检索它?

  •  3
  • Jason  · 技术社区  · 16 年前

    我有一个桌面应用程序需要发送数据到MySQL服务器。该应用程序将供公司内部使用,但MySQL位于托管公司的服务器上。

    我应该使用PHP还是Perl?

    我现在使用PHP处理各种数据库驱动的web页面,但是我当前的任务不需要任何web呈现。(我知道PHP也可以在没有web渲染的情况下完成这项工作)

    我不知道的是: -Perl脚本将放在Web服务器上的cgi-bin中,对吗? -有没有安全问题? -我可以在哪里存储插入、更新、删除MySQL用户名和密码,这样就不会被窃取等等?

    你们都会选择什么?

    -杰森

    7 回复  |  直到 16 年前
        1
  •  15
  •   Community rohancragg    7 年前

    Perl的 DBI 模块功能强大,通过使用绑定参数可以很容易地避免SQL注入攻击。有关在SQL语句中使用占位符的详细信息,请参阅“perldoc DBI”。通过将凭据放在受读保护的文件中,可以使用普通的Unix文件保护来保护数据库的用户名/密码。

    DBIx::Class Class::DBI 模块提供了一种将整个数据库和关系映射到Perl对象的方法。它使快速遍历数据库变得非常容易,在整个过程中生成安全代码而无需编写一行SQL。这个 comparisons of Class::DBI and DBIx::Class 可以帮助您选择哪一个;与Perl一样, there is more than one way to do it Rose 库提供 Rose::DB::Object 简化访问。

    您可以从命令行或在cgi-bin目录中运行Perl脚本。

    draegtun 其他数据库包装类的建议]

        2
  •  9
  •   BobbyShaftoe    16 年前

    好吧,这两个都可以在MySQL上正常工作。这其实只是一种偏好和舒适度。既然你说你用PHP做了很多事情,那么这对你来说可能更有效率。

        3
  •  2
  •   user42092 user42092    16 年前

        4
  •  2
  •   Brian C. Lane    16 年前

    PHP从命令行运行良好。如果这是你所熟悉的,更重要的是公司所熟悉的(想想你之后谁来维护它)。

        5
  •  2
  •   sir_lichtkind    16 年前

        6
  •  1
  •   Kevin    16 年前

    如果您熟悉使用PHP编写web应用程序,那么您已经知道如何使用它编写控制台应用程序。

    如果使用PDO或MySQLi类,则可以使用参数化或准备好的查询。

    在这两种语言中,使用DB可能同样容易,所以对于你的应用程序,你需要决定的主要问题是你觉得用哪种语言处理数据更舒服?

        7
  •  0
  •   vogomatix    10 年前

    Perl能很容易地与MySQL一起工作吗?

    是的,LAMP以前是Linux、Apache、MySQL和Perl。业余爱好者使用的是PHP:-P.更认真地说,PHP在过去几年中有了很大的进步,但是Perl更成熟,所以如果你能在不影响交付期限的情况下使用它的话。

    Perl脚本将放在Web服务器上的cgi-bin中,对吗?

    有没有安全问题?

    尽量不要编写易受SQL注入攻击的SQL;执行 不是 mysql_ 功能,使用 PDO mysqli_ 而是功能。对于PHP和PERL,使用绑定变量并检查所有输入。

    使用 Perl DBI 库非常成熟,如果与绑定变量一起正确使用,则会限制执行SQL注入攻击的能力。

    简单地说,你不能给出一个绝对的保证。创建一个MySQL用户,该用户具有程序运行所需的最低权限。i、 e.用户无权删除表、删除数据库等。您可以将数据库相关代码放在Web服务器可访问的目录之外,以防止随意下载关键文件。