PHP / MYSQL安全检查

时间:2016-09-30 13:07:48

标签: php mysql security coding-style

我阅读了很多关于mysql安全性和php脚本安全性的内容,并且只是想知道这是否适合防止入侵。 我制作了脚本config.php,并将register.php存储在根文件夹之上的文件夹中(例如../project/script/和../project/www/)

register.php看起来像这样:

<?php

require_once 'db_config.php';
$user=$_GET['username'];
$pass=$_GET['password'];
$db=$_GET['company']; 
try {
    $dbh = new PDO("mysql:host=$host", $username, $password);//connecting to        database
    //check if database exists
    $stmt = $dbh->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA   WHERE SCHEMA_NAME = '$db'");
    if($stmt->fetchColumn() == 1){
    //some code
    }else{
        $dbh->exec("CREATE DATABASE `$db`;
                    CREATE USER '$user'@'localhost' IDENTIFIED BY '$pass';
                    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `$db`.* TO '$user'@'localhost';
                    FLUSH PRIVILEGES;") or die(print_r($dbh->errorInfo(), true));
        echo 'DB created';
    }   

}
 catch (PDOException $e) {
    die("DB ERROR: ". $e->getMessage());
}
?>

和test.php看起来像这样:

<?php
include ('../scripts/db_connect.php');
include ('../scripts/register.php');
?>

我的问题是这个良好的编码实践,是否可以防止有人弄乱我的数据库,一般来说你必须指出一般有更好看的代码? 还有关于代码应该如何看的任何材料,以便其他人可以阅读它,并且可以理解PHP SQL安全性。

0 个答案:

没有答案