Куда переместить имя пользователя и пароль из файлов PHP? [дублировать]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Куда переместить имя пользователя и пароль из файлов PHP? [дублировать]

Сообщение Anonymous »

Ниже мой класс PHP, dbcon.php для доступа к базе данных YSQL с библиотекой PDO.

Код: Выделить всё

class dbcon{
private $user = null;
private $pwd = null;
private $db = null;
private $pdo = null;
private $host = null;
public $error = null;

function __construct() {
$this->user = get_cfg_var("mysql.default.user");
$this->pwd = get_cfg_var("mysql.default.password");
$this->db = get_cfg_var("mysql.default.db");
$this->host = get_cfg_var("mysql.default.host");
}

function __destruct() {
$this->close();
}

private function open(){
try{
if(!$this->pdo){
$this->pdo = new PDO(
'mysql:dbname='.$this->db.'; host='.$this->host.';',
$this->user,
$this->pwd,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
if($this->pdo){
$this->pdo->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
else{
throw new PDOException();
}
}
}
catch(PDOException $ex){
echo 'ERROR: '.$ex->getMessage();
}
}

private function close(){
$this->pdo = null;
}

public function query($query, $params){
$result = $stmt = $single_row = null;
$this->open();
try{
$stmt = $this->pdo->prepare($query); # Prepare query
if(!is_null($params)){
$paramCount = count($params) - 1;
for($i=1; $ibindValue($i, $params[$i]);
}
$stmt->execute(); # Execute Statement
$result = $this->fetchResultSet($query, $stmt);
}
}
catch (PDOException $ex) {
$this->error = 'Exception: 
'.$ex->getTraceAsString().'';
}
catch (Exception $ex) {
$this->error = 'Exception: '.$ex->getTraceAsString().'';
}
return $result;
}
}
Здесь, вместо жесткого кодирования имени пользователя, пароля и имени базы данных в самом классе, я сохранил их в php.ini , как ниже:

Код: Выделить всё

mysql.default.user = "xxxxxxxx"
mysql.default.password = "yyyyyyyy"
mysql.default.db = "zzzzzzzz"
mysql.default.host = "localhost"
Я читаю эти значения, используя функцию get_cfg_var () in __constructor () of class dbcon.php.
Теперь, если я запускаю скрипт ниже:

< /code>
Вывод вышеприведенного сценария: < /p>

dbcon object
(
[пользователь: dbcon: private] => xxxxxxxx
[pwd: dbcon: private] => yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzz
[pdo: dbcon: private] =>
[host: dbcon: private] => localhost
[error] =>
) < /p>
< /blockquote>
Таким образом, любой из моих товарищей по команде может видеть мои кредитные данные Database с помощью простого сценария PHP. Я попытался добавить учетные данные базы данных в .htacces , как ниже:

php_value mysql.default.user "xxxxxxxx"
php_value mysql.default.password "yyyyyyyy"
php_value mysql.default.host "zzzzzzzz"

< /code>
Но я не могу получить эти значения с любой функцией, которую я могу найти. Я даже пытался сохранить вышеуказанные учетные данные A php.ini в другом поддомене. Но нет блокировки. < /P>
Как другие могут предотвратить просмотр учетных данных базы данных? Пожалуйста, помогите.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -php-files
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»