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や空白を許さなないならそれもチェック。