Security(セキュリティ)

PHP

PHP脆弱性対応:フォームのセキュリティー対策 入力値の妥当性チェック

前回のXSS脆弱性対策(セキュリティー対策)の続きで、

今回は入力値の妥当性チェックについてです。

 

しっかりとチェック処理を入れておかないと、

スパムメールの踏み台にされたり、フィッシング詐欺メールの送信処理に使われてしまいます。

 

それで、

妥当性チェックといっても、

チェックすることは多すぎて大変です!!

 

例えば、

メールアドレスが正しく入力されているかをチェックする場合には、

という関数を作成して、

とすればチェックできます。

 

ただし、

メールアドレスのチェックは本来はこれだけでは不十分で、

完全なチェックコードを書くのは相当な作業量になるようです。

 

また、

電話番号だと、

とします。

 

これは、

「0」から始まり、9桁もしくは10桁で入力されていることを確認しています。

 

これは

数字のみ入力を許可する場合の処理で、

例えば「-」付きの電話番号をチェックする場合には、

となります。

これはファックス番号もほとんど同じです。

 

因みに携帯電話だと、

で対応可能だと思います。

 

その他にも、

名前やふりがなに全角以外の文字が入っていないかは、

という関数で対応しています。

mb_convert_kanaでの変換前の文字列と変換後の文字列とで差異が出れば、

全角以外が混ざっていると判定しています。

 

その他にも、

例えば性別を問うラジオボタンを設けた場合、

性別は「男」か「女」だけなので、

それ以外の値が送られてきていないか?

 

また、

郵便番号は「3桁-4桁」で入力されているか?

 

数字のみのを入力する項目は半角数字で入力されているか?
※is_numeric()関数でのチェックだとまずいらしいので、正規表現でチェックして下さい。

 

年齢であれば3桁半角英数のみで入力されているか?
※「preg_match("/^\d{1,3}$/", $age)」とすればOK!!

 

入力された日付けは妥当か?
※日付けはcheckdate()関数を使えば便利ですね!!

 

などのチェックが必要です。

 

それと、

テキストボックスの項目には必ず「maxlength="xx"」を設定しておき、

設定したmaxlength以上の文字数のテキストが送られてきていないか?

のチェックも必要です。
※「maxlength」の値は、ブラウザ上で簡単に改変できます。

 

取り敢えず、

妥当性チェックといってもチェックすることは山程あり、

結構面倒な作業ではあります。

弊社では、以下の方に向けて、WordPressの短期学習プログラムを
格安(15,000円~)で提供しております。

  • 個人でWordPressを使ったサイト(個人ブログやアフィリエイトサイトなど)構築をお考えの方
  • WordPressを使って副業で稼ぎたい方
  • フリーランスでWordPressを使ったお仕事をお考えの方
  • 自社でホームページの構築・運用をお考えの方
  • 企業のWEB担当者の方

内容

基本的には、初心者の方を対象にした学習プログラムです。

※ WordPress制作の上級者の方の場合、弊社の学習プログラムはあまり役に立たないと考えています。

  • ・ WordPressのインストールからセッティングの方法
  • ・ WordPressのテーマ選びについて
  • ・ WordPressのプラグイン選びと設定方法について
  • ・ サーバの準備方法
  • ・ ドメインの取得・管理の方法
  • ・ FTPの設定方法
  • など

ご用意頂くもの

  • ・ ノートPC
    ※ 弊社はWindowsを業務で利用しておりますので、できればWindowsのPCをおすすめしています。
  • WordPressでサイトの制作を考えているが、何から始めればいいのか分からない。
  • ドメインやサーバはどうやって準備すればいいの?
  • そもそもホームページの公開には何が必要なの?

などなど、

どのような内容でも構いませんので、お気軽にお問い合わせ下さい。

お客様の目的をお聞きした上で、最適の学習プランを提案致します。

ご興味のある方は、以下の内容を記載の上、一度お問い合わせ下さい。
こちらより、折り返しメールを致します。

  • ① お名前
  • ② 折り返し先のメールアドレス
  • ③ 希望の学習内容

関連記事

  1. PHP

    Smartyで全角英数字を半角英数字に変換

    今日は、久しぶりにSmartyを触りました。といっ…

  2. PHP(ピー・エイチ・ピー)

    PHP

    Fatal error: Call to undefined function hash_hmac(…

    パスワードからハッシュ値を生成してDBに登録しようと、$pas…

  3. Database(データベース)

    PHP

    【phpPgAdmin】データ型に「integer」を指定

    phpPgAdminの管理画面から、データ型に「integer」を…

  4. PHP(ピー・エイチ・ピー)
  5. PHP(ピー・エイチ・ピー)

    PHP

    勝手にサーバ移行はやめて。。。

    かなり前に弊社が作成、納品したデータの入力システムがあるのですが、…

  6. PHP

    CakePHP

    久しぶりにCakePHPを使っての開発を行なっているんですが、いつ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. PHP(ピー・エイチ・ピー)
  2. SONY 広角レンズ「SEL1018」
  3. PHP(ピー・エイチ・ピー)
  4. 俺流塩ラーメン
  5. SEO(エスイーオー)
  6. Linux(リナックス)
  7. Linux(リナックス)
  8. PHP(ピー・エイチ・ピー)
  9. バージョンアップ
  10. Google Search(グーグル検索)
PAGE TOP