2017-06-24 6 views
-5

私はPHPに関しては初心者ですが、文法については十分に理解していますが、サーバーに接続するための最も安全な方法についてはわかりません。コードが技術的に機能するので、これはコードの問題ではなく、一般的な質問の一種であることをお詫びします。私のウェブサイトを自分のサーバーに接続する正しい方法はありますか?

私は基本的なコメント投稿フォームを持つ.phpサイトのドキュメントを持っています。私がサーバーに接続するために考えられる唯一の方法は、選択されたprivelegeを持つ「ダミー」ユーザーが、ストアされた関数を呼び出してコメントを受け入れることができるようにすることです。

ダミーのアカウントがsiteuserと表示されている場合は、これを正しく実行していますか?これは私が接続するために使用しているPHPのセクションです。私はこのコードは、誰もそれを見ることができ、パスワードやユーザー名を使用していくつかの他の方法で接続できるように目に見えるだけのサーバー側だと思いますか?または、PHPとサーバーがすべて同じプロバイダ経由でホストされているのを見て、ダミーユーザーを作成せずにPHPで使用できるデフォルトの文字列がありますか?

$sqlserv = "localhost"; 
$sqlname = "siteuser"; 
$sqlpass = "mypassword"; 
$sqldbdb = "comments_table"; 
$conn = new mysqli($sqlserv, $sqlname, $sqlpass, $sqldbdb); 
+0

既に投票済みです。私はまっすぐなものを見つけるのに苦労している。房の木が見えません。 – jamheadart

+0

理由を説明するコメントなしで下落しているのは面倒です。しかし、これは[文字通りドキュメント検索である](https://secure.php.net/manual/en/class.mysqli.php)です。 – Bytewave

+0

「ベストプラクティス」または「最も安全」という点で正しいことを意味する場合を除きます。これはサーバー構成になりますが、理論上、サーバーが正しく構成されていれば問題ありません。 – Bytewave

答えて

1

私は何をすることは、これは私のDBに接続するためにある

をdb.php:

<?php 
// Load configuration as an array. Use the actual location of your configuration file 
$config = parse_ini_file('/somepath/config.ini'); 

//Mysqli Connection 
$conn = new mysqli($config['host'], $config['user'], $config['pass'], $config['dbname']); 

if($conn->connect_errno > 0){ 
    die('Unable to connect to database [' . $conn->connect_error . ']'); 

    //Set encoding 
mysqli_set_charset($conn, "utf8") or die; 
} 
?> 

とconfig.iniの中

[database] 
user = johndoe 
pass = someweirdpassword 
dbname = the_name 
host = localhost 

両方のファイルは、700件の権限を持っています、ユーザーだけ(誰もアクセスできない)

また、config.iniファイルはpublic_htmlディレクトリの外に置かれていますが、それが役に立っているかどうかはわかりませんが、私はそうしています。

+1

ありがとうございました。どこかにパスワードと名前を保存する必要があり、それを必要としないものを探していましたが、それは可能ではないと思いますか?しかし、私はあなたの方法を試してみるつもりです、それは自分のものよりもhtmlドキュメントからいくつかの接続コードを取り除いているようには思えません。 – jamheadart

+1

私は、アクセスデータを含む設定ファイルがpublic ...に設定されていない限り、あなたは安全だと思う...あなたは、サーバーがルートレベルで危険にさらされている場合は、接続と資格情報を同じ場所に設定するよりも良いことに留意することをお勧めします。 – GTCR

+1

もう一度、建設的な入力に対してあなたの答えを正しいものとしてマークします。 – jamheadart

関連する問題