-1

ハッカーがソース コードを表示したときに、DB に悪意のあるコードを送信する可能性があるため、DB 接続の詳細をハッカーから隠したいと考えています。

例えば:

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin',35)");

mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age) 
VALUES ('Glenn', 'Quagmire',33)");

mysqli_close($con);
?>

ハッカーは、私のデータベースのユーザーとパスワードと名前を知っており、私の DB に悪いコードを挿入することができます。サイトを検索しましたが、質問に対応する適切な形式が見つかりませんでした。

4

2 に答える 2

1

あなたの Web アカウントを実際にハッキングまたはクラックしない限り、データベース情報を読み取ることはできません。データベース情報をエンコードできますが、それだけです。

正しいアプローチは、PHP コード自体へのアクセスを防止することです。インクルードファイル内のデータベース情報をWeb サーバーのみが読み書きできるようにすると、不正なアクセスを防ぐことができます。これの欠点は、情報を変更する必要がある場合に、情報を更新するために root/admin アカウントが必要になることです。

SQL インジェクションを防ぐには、文字列には real_escape_string を、数値には is_numeric を使用する必要があります。

于 2013-05-07T15:43:44.807 に答える