安全地使用PHP连接MySQL的最佳方法

Tim*_*Tim 22 php mysql security

我想要一些关于你们认为使用PHP连接到MySQL数据库的最安全方式的输入.目前我正在这样做的方式是一个实用程序PHP文件,我包含在我所有其他PHP文件的顶部.实用程序PHP文件是这样的:

<?php
    if(!defined('IN_PHP')){
        die("hackerssss");
    }
    $mysql_host = "localhost";
    $mysql_user = "root";
    $mysql_pass = "root";
    $mysql_db = cokertrading;
?>
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Ale*_*lex 25

建议:您可能永远不应该以root身份运行; 创建另一个帐户并为其提供网站所需的"最少"权限.

  • +1为"最小特权"方法. (10认同)
  • 使用分号校正+1; root永远不是一个好主意. (3认同)

Kri*_*ard 8

我相信没有人提到MYSQLI准备好的语句,你可能会锁定你的密码和数据库连接,但如果我只需输入';DROP TABLE users;--登录表单,那最终是徒劳的.

查看http://en.wikipedia.org/wiki/SQL_injection,了解我正在谈论的内容.


Pek*_*ica 6

  • 定义一对正确的登录凭据而不是"root/root"(将用户名更改为其他名称,并选择复杂的密码);

  • 如果可能的话,限制在防火墙级别访问数据库到localhost,或者如@Scott在评论中所说,将mySQL设置为仅侦听来自127.0.0.1的连接.如果两者都不可能,请限制mySQL级别的访问权限.("username"@"localhost")


Tho*_*son 5

因为PHP脚本是服务器端的-即它们是在服务器上解析的,并且将输出发送到浏览器-因此您执行此操作的方式是绝对安全的。

人们能够获取您的用户名和密码的唯一方法是实际入侵您的服务器并查看源代码-在这种情况下,无法(在PHP中)防止这种情况。


o0'*_*0'. 5

  1. 请记住,任何能够读取该文件的人都会知道您的SQL密码:设置其他人无法读取.
  2. 不要使用root登录:为每个应用程序创建一个用户.
  3. 不要使用"root"作为root密码.
  4. 不要将密码提供给所有人.