我有一台运行 Debian 操作系统的服务器,并且我有大量 .php 脚本位于默认的 apache 公共目录中。这绝对不是最安全的方法,但我有一个脚本可以执行任何 $_REQUEST["sql"] 到 mysql 数据库的内容。如果您有正确的密码,您只能查询此密码,该密码在脚本中以纯文本形式进行比较。
我的问题是攻击者能否以某种方式查看此脚本并找到密码,然后随意执行 sql 语句?
我有一台运行 Debian 操作系统的服务器,并且我有大量 .php 脚本位于默认的 apache 公共目录中。这绝对不是最安全的方法,但我有一个脚本可以执行任何 $_REQUEST["sql"] 到 mysql 数据库的内容。如果您有正确的密码,您只能查询此密码,该密码在脚本中以纯文本形式进行比较。
我的问题是攻击者能否以某种方式查看此脚本并找到密码,然后随意执行 sql 语句?
有可能吗?当然可以,如果您的服务器被黑客入侵,这是一个真正的可能性。话虽如此,在 PHP 文件(例如 Wordpress)中包含凭据实际上是很正常的,即使这不是最安全的方式。
但是,您所说的是不必要的安全风险。在身份验证方面,您应该在密码上使用单向哈希,这样如果 PHP 文件遭到破坏,攻击者仍然无法使用它们。查看password_hash(..) 函数。
此外,您永远不应该执行用户直接发送的 SQL 语句。如果您要执行管理任务,请使用Adminer 或PhpMyAdmin。SQL 语句应该在服务器端生成,使用准备好的语句来转义用户输入信息。