PHPを使用してMySQLデータベースに接続するための最も安全な方法であると皆さんが考えていることについて、いくつかの入力が必要です。現在、私がそれをしている方法は、ユーティリティPHPファイルを他のすべてのファイルの上部に含めるPHPファイルです。ユーティリティPHPファイルはこれです:
<?php
if(!defined('IN_PHP')){
die("hackerssss");
}
$mysql_Host = "localhost";
$mysql_user = "root";
$mysql_pass = "root";
$mysql_db = cokertrading;
?>
助言がありますか?
提案:rootとして実行してはいけません。別のアカウントを作成し、サイトに必要な「最も少ない」権限を付与します。
私は誰も [〜#〜] mysqli [〜#〜] と 準備されたステートメント について言及していないと信じることができますが、パスワードとデータベース接続をロックすることができますが、それは最終的には無駄です';DROP TABLE users;--
ログインフォームで。
http://en.wikipedia.org/wiki/SQL_injection で、私が話していることについてのアイデアを確認してください。
「root/root」の代わりに適切なログイン資格情報のペアを定義します(ユーザー名を別のものに変更し、複雑なパスワードを選択します)。
可能であれば、データベースへのアクセスをファイアウォールレベルのlocalhostに制限するか、@ Scottがコメントで述べているように、mySQLを127.0.0.1からの接続のみをリッスンするように設定します。両方が不可能な場合は、mySQLレベルでアクセスを制限してください。 ("username"@"localhost"
)
PHPスクリプトはサーバー側であるため、つまりサーバー上で解析され、only出力はブラウザーに送信されます。これを行う方法は完全に安全です。
ユーザーがユーザー名とパスワードを取得できる唯一の方法は、実際にサーバーにハッキングしてソースコードを表示することです。この場合、(PHPで)これを防ぐ方法はありません。