「file_get_contents」を次のように使用しています。
(以下のスクリプトは、たとえばhttps://siteA.com/checkifvalid.phpに投稿されています... URLがhttpSであることに注意してください)
<?php
//there is a login form on this URL and the entries put in the form are used to set the username & password variables below.
$username = "someusername";
$password = "somepassword";
$secretkey = "slkd89087235";
$yesorno = file_get_contents("httpS://siteB.com/checkdatabase.php?username=$username&password=$password&secretkey=$secretkey");
if ($yesorno == 'yes') {
//details are valid, so something
} else {
//details aren't valid, display they aren't valid
}
?>
「checkdatabase.php」スクリプトは、_GETを使用してユーザー名とパスワードを取得し、URLから変数を取得してから、それらのログイン詳細を相互参照して、それらが有効かどうかを確認します。そうである場合は「はい」をエコーし、そうでない場合は「いいえ」をエコーします。
checkdatabase.phpスクリプトは、ユーザー名、パスワード、および秘密鍵のパラメーターの両方が渡された場合にのみ実行され、渡された秘密鍵の値がそのphpスクリプト内に格納されている秘密鍵と一致する場合にのみ実行されるように設定されています。
また、ユーザー/パスの組み合わせを推測する一種の「ブルートフォース」攻撃を防ぐために、特定の期間に「 http://siteA.com/checkifvalid.php 」を入力できる回数にも制限があります。
私の質問は、両方のURLがhttpSを使用しているため、上記の方法はどの程度安全であるかということです。
送信された値を暗号化する必要がありますか?それとも、上記の安全性はすでにありますか?