【セキュリティ】WEBページを作る上でのセキュリティのルール

WEBページを作る場合、セキュリティ常に意識して構築する必要があります。

 

ルール1.なるべく外部リンクを入れない

外部リンクを入れてはダメな理由を説明します。

外部をリンクから他のサイトにユーザーをアクセスさせた時、ヘッダー情報にreferer情報がのります。

相手側サイトのアクセス解析でこちらのURLが載る事になります。

トップページ等でしたら問題ありませんが、変数を持ったページだと悪意ある人に狙われます。

どうしても外部ページに飛ばしたい時は、リダイレクト用のクッションページを用意する事でrefererを洗浄する事が出来ます。

 

referer洗浄は↓こちらのページで詳しく書いています。

https://creative-studio.jp/2019/11/20/%e3%80%90%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3%e3%80%91referer%e6%b4%97%e6%b5%84/

ルール2. 綺麗でわかりやすいソースを書く

一見関係ないように感じますが、綺麗なソースを書く事はセキュリティの基本と言ってもいいです。

インデントがずれているとバグが見つけにくいです。

クラスの命名がバラバラだとメンテナンスが難しくなります。

・インデントをしっかりいれる

・余分な空白を入れない

・クラスの命名ルールを統一させる

・長すぎるコードも意味不明な迷宮となります(1万行とか!)

ルール3. PHPDOCをわかりやすく入れる

PHPDOCを全部のクラスやメソッドに入れるのは結構時間もかかりますし、ちょっと直したらphpdocも書き直しになったりして、かなりメンドクサイです。

でも、そのコード3年後に見て自分でわかりますか?

1年後だって怪しい。

構築している時は全部把握しているのでPHPDOCなくても大丈夫ですが、1年後にメンテナンスする事になったらわかりますか?

phpdocは数年後の自分へのメッセージだと思ってわかりやすく書いて下さい。

 

ルール4. エスケープ処理を全部ちゃんと入れる

getとpostをしたらかならずエスケープ処理をしましょう。

数字しか受け取らないのならちゃんと数字だけなのかチェック。

数字の0や空白を許さなないならそれもチェック。