Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql php安全_Php_Mysql_Security - Fatal编程技术网

mysql php安全

mysql php安全,php,mysql,security,Php,Mysql,Security,在我的php页面的顶部,我像这样连接到数据库 $db = mysql_connect("mysql.site.com","thedb", "pass"); mysql_select_db("dbase",$db); 这安全吗?有人能扫描并查看我的代码,从而访问数据库吗 使现代化 我问的原因是因为一个用户能够访问我的数据库,我很确定这不是通过sql注入实现的。如果您将此代码段移动到文档根目录之外的包含文件中会更好,这样可以防止人们阅读它,以防您的Web服务器以某种方式配置错误并开始以纯文本形

在我的php页面的顶部,我像这样连接到数据库

$db = mysql_connect("mysql.site.com","thedb", "pass"); 
mysql_select_db("dbase",$db); 
这安全吗?有人能扫描并查看我的代码,从而访问数据库吗

使现代化
我问的原因是因为一个用户能够访问我的数据库,我很确定这不是通过sql注入实现的。

如果您将此代码段移动到文档根目录之外的包含文件中会更好,这样可以防止人们阅读它,以防您的Web服务器以某种方式配置错误并开始以纯文本形式提供PHP文件。虽然,就其本身而言,它足够安全-不太可能有人会故意这样错误配置您的服务器。

如果您将此代码段移动到文档根目录之外的包含文件中会更好-这将防止人们阅读它,以防您的Web服务器以某种方式错误配置并开始以普通方式提供PHP文件文本尽管它本身就足够安全—不太可能有人会故意这样误解您的服务器。

如果有人可以访问您的代码,那么是的,他们将能够读出密码

对此,您可以做的事情不多,但确保此代码是从web根目录向上的目录会有所帮助


(即,如果您是从文件夹
/usr/htdocs/mysite
为您的站点提供服务,请将其更改为
/usr/htdocs/mysite/public
,然后将您的内容放入mysite而不是public。)

如果确实有人可以访问您的代码,则可以读取密码

对此,您可以做的事情不多,但确保此代码是从web根目录向上的目录会有所帮助


(即,如果您是从文件夹
/usr/htdocs/mysite
为您的站点提供服务,请将其更改为
/usr/htdocs/mysite/public
,然后将您的内容放在mysite而不是public中。)

这没关系,我可以说的重要一点是,转到您的数据库并给予该用户受限权限,我的意思是只选择、插入、,更新并删除所需的表。。除此之外,我的建议是,用这些信息创建一个文件,并在需要时包括在内


如果有人浏览了你的代码,就能看到这些信息,但要尽量减少损坏的影响,这没关系,我可以说的重要一点是,访问你的数据库并给予该用户受限制的权限,我的意思是只选择、插入、更新和删除它需要的表。。除此之外,我的建议是,用这些信息创建一个文件,并在需要时包括在内

如果有人浏览了您的代码,可以看到这些信息,但要尽量减少损害影响,您应该:

  • 从源代码中删除凭据,并将其放置在web服务器的文档根目录之外
  • 限制,可能仅通过本地主机或套接字
  • 仅限于那些必要的
  • 你应该:

  • 从源代码中删除凭据,并将其放置在web服务器的文档根目录之外
  • 限制,可能仅通过本地主机或套接字
  • 仅限于那些必要的

  • 既然我们谈到了安全性,一般来说,您不应该使用
    mysql\u connect()
    ,而应该使用和准备好的语句。如果不使用预先准备好的语句,则更容易意外创建易受SQL注入攻击的代码。值得注意的是,就在本月(2012年5月),一个新的漏洞被公开(并在5.3.13/5.4.3中修复),该漏洞公开了PHP源代码(甚至更糟)。既然我们谈到了安全性,一般来说,您不应该使用
    mysql\u connect()
    ,而应该使用和准备好的语句。如果不使用预先准备好的语句,则更容易意外创建易受SQL注入攻击的代码。值得注意的是,就在本月(2012年5月),一个新的漏洞被公开(并在5.3.13/5.4.3中修复),该漏洞公开了PHP源代码(甚至更糟)。