私は現在、同じデータを共有するWebアプリケーションとWebアプリケーション(異なるコード)を開発しており、このデータはデータベース内に保存されています。私は、このようにそれを作った:phpとmysql - これは安全ですか?
私は2つのドメイン
を持っているドメイン1は、 - >(デシベルを照会する、すなわちPHPファイル。)ユーティリティが含まれてい
ドメイン2 - >は、ウェブサイト
が含まれています
domain2
私はhttp://domain1.com/utilities/php/domain2/get_from_db.php
にリクエストを送り、これは私に必要な結果を返します。
ファイルが何らかの形で公開されているため、これは安全ではないというのが私の懸念です。
以前は空のWebサイトでしたが、http://domain1.com/に移動するとファイル構造が表示されました。空のindex.php
ファイルを作成しました。ファイル構造が見えなくなりました。
これはまだ実際には安全ではないという印象がありますが、私は正しいのですか?
データベースファイルは、以下の通りである:
のconfig.ini
get_from_db.php
はget_from_db.php
はバックDBからのデータを接続して取得するには、このコードを持っています
header("Access-Control-Allow-Origin: http://domain2.com");
$db = new mysqli($host, $config['username'], $config['password'], $config['dbName');
if ($db->connect_errno > 0) {
die('Unable to connect to database [' . $db->connect_error . ']');
}
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
class data
{
public $id = "";
public $col1 = "";
public $col2 = "";
public $col3 = "";
public $col4 = "";
}
$sql = "SELECT * FROM myDb.myTable";
$result = mysqli_query($db, $sql) or die(mysqli_error($db));
$obj = array();
while ($row = $result->fetch_assoc()) {
$col1 = $row['col1'];
$col2 = $row['col2'];
$col3 = $row['col3'];
$col4 = $row['col4'];
$e = new cvdata();
$e->col1 = $skills;
$e->col2 = $hobbies;
$e->col3 = $education;
$e->col4 = $experience;
array_push($obj, $e);
}
echo json_encode($obj);
今、私の最後のクエストnは:
このセキュリティレベルは十分ですか? (私はログインなどについて知っているが、これは非常に単純なプロジェクトであり、誰もがWebサイトやアプリケーションを慎重に扱わないようにしようとしている。それは))、データがどのように敏感に依存して任意のヘルプ、提案やアドバイスを
おかげ
あなたの質問の一部については、ディレクトリの内容を表示しないようにWebサーバーを設定する必要があります。 Apacheでは、たとえば次のようになります。https://stackoverflow.com/questions/2530372/how-do-i-disable-directory-browsing –
domain2クライアントまたはサーバーで実行されるスクリプトからdomain1に要求を送信していますか?サーバから来ている場合は、リクエストで簡単なパスワード形式の認証を使用できます。彼らがクライアントから来ている場合は、ユーザーがトラフィックをキャプチャして偽装するのを防ぐために、さらに複雑なものが必要です。 – Barmar