我阅读了很多关于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安全性。