LANからのみアクセスできるウェブサイトを開発しています。私はまだそれを可能な限り安全にしたいと思っています。
Webの観点からは、すべてのPHPファイルにSESSIONチェックを追加し、準備されたmysqliステートメントを使用し、HTTPSを使用するだけで十分ですか?
具体的には次のとおりです。
私はこれですべてのPHPページをチェックしています:
if(!isset($_SESSION['login']) || $_SESSION['UA'] != $_SERVER['HTTP_USER_AGENT'] || $_SESSION['IP'] != $_SERVER['REMOTE_ADDR'] || time() - $_SESSION['timeout']>=600){
session_unset();
session_destroy();
header('Location:index.php');
念のため、すべてのページでセッションIDも再生成します。そのため、ユーザーのユーザーエージェント、IPアドレス、アクティビティタイムアウト、およびセッション変数「ログイン」を確認しています。
mysql接続では、セキュリティとパフォーマンスのために主にプリペアドステートメント(mysqli)を使用します。プリペアドステートメントを使用しない、または使用できない場合は、クライアントデータを処理するときに常にreal_escape_string()を実行します。
チェックを入れて、HTTPSのみを許可します$_SERVER['HTTPS'] = "on"
。
サーバーは、PHPSSIDを除いてCookieを設定することはありません。
これが私のウェブサイトを安全にするために私ができるすべてですか、それとも他に何かありますか?Webサイトを保護する方法をWeb全体で見つけましたが、1つの場所には何もありませんでした。そのため、ここで質問しています。