【问题标题】:How can I restrict access to the php file on server to Java app only?如何仅将服务器上的 php 文件的访问权限限制为 Java 应用程序?
【发布时间】:2012-11-20 11:58:52
【问题描述】:

我有一个将用户分数发送到 mysql 表的 Java 应用程序。用户完成后,Java 应用程序访问服务器上的 .php 文件,并且 .php 服务器对数据库执行查询(插入分数)。

我担心这种方法的(不)安全性。我的意思是,如果有人在服务器上找到 .php 的直接 url,他们会在数据库中产生很多混乱。您能否建议我如何防止 .php 执行除 Java 应用程序访问之外的查询?

编辑:问题是 Java 应用程序不是在服务器上运行的,它是在使用 Java Web Launcher 平台的用户计算机上运行的。所以它不是小程序...

【问题讨论】:

  • 只是一个可以通过完全避免它来解决您的问题的问题:为什么不从您的 Java 应用程序运行数据库查询?
  • 我建议您为运行 Java 应用程序的用户设置正确的权限。我假设您使用的是 Linux?
  • 一个明显的问题,Java应用程序是否与php服务器运行在同一台服务器上?
  • 问题是Java应用程序没有在服务器上运行,它是在使用Java Web Launcher平台的用户计算机上运行的。所以它不是小程序...

标签: java php database authorization security


【解决方案1】:

问题是概念性的。您永远不应该确定用户无法找到真实地址(通过默默无闻来确保安全)。您可以使用 SSL,但这仍然不能很好地猜测。

由于 Java 程序是在客户端运行的,所以 .htaccess 限制对某个 IP 的访问也不是一种选择。

我的建议是在 mysql 中创建一个单独的用户,仅授予该用户对必要表的访问权限,并直接在 Java 中代表该用户执行数据库查询。通过这种方式,所有数据都被加密(参见http://dev.mysql.com/doc/refman/5.5/en/ssl-connections.html)并且不会暴露 URL/访问点。当然,这意味着您的 MySQL 服务器必须可以从外部访问,这也存在风险。你应该有一个好的root密码!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多