Security(セキュリティ)

PHP

PHP パスワードのクライアントへの表示について

サイト制作を行っていると、

会員制サイトを構築することも多々あると思います。

 

それで、

会員登録フォーム作成時、

ユーザーに希望のパスワードを入力させる仕様にした場合、

考えないといけないのが、

確認画面に

入力したパスワードをマスク化せずにそのまま表示させるのか

それとも、

マスクして表示させるのか

という点になります。

 

パスワードをマスク化せずに画面に直接表示させてしまうと、

入力画面の「のぞき見」「盗み見」 ※ショルダーハックと言います

キャッシュ制御の不備による情報漏洩

などの危険性が発生してしまいます。

 

その為、

当然マスクして表示させるべきなんですが、

確認画面でそのまま表示させるようにしたいと言われるお客様もいらっしゃいます。

ユーザーに入力ミスが無いかを確認させたいというのが、

目的らしいです。

 

が、

こういったサイトでは必ずパスワードの再発行フォームを作成するので、

そのフォームから再度発行すればいいだけのことです。

 

なので、

セキュリティー面と比べてどちらが重要かということを説明して、

極力マスクを掛けて表示させるように話しを持って行くしないといけないですね。

 

マスクを掛ける場合には、

PHPで構築しているサイトであれば、

<?php
echo str_repeat("*", mb_strlen($password, "UTF8"));
?>

とすればOKです。

 

あと、

最初の数文字だけ表示させて、その後ろの文字にマスクを掛けたい、

と言われる場合や、

逆に後ろの数文字だけマスクを掛けずに表示させたい、

と言われる場合もあります。

そのような場合は、

以下のようなコードで対応可能だと思います。

<?php

$password = "1234567890";

//前半2文字だけ表示
echo mb_substr($password, 0, 2, "UTF-8") . str_repeat("*", mb_strlen($password, "UTF-8") - 2);
⇒「12********」と表示

//後半2文字だけ表示
echo str_repeat("*", mb_strlen($password, "UTF-8") - 2) . mb_substr($password, -2, 2, "UTF-8");
⇒「********90」と表示

?>

個人的には、

数文字だけ表示させるということに何の意味があるのか分からないので、

私は全文字マスクを掛ければいいと思いますが、

どうしても言われる場合には、

これで対応可能です。

 

最後に、

ユーザーが入力した値をhiddenで持たせて受け渡ししようとする場合がありますが、

この際、

パスワードのような重要な項目は注意して下さい。

hiddenのvalueにそのまま設定していると、

漏れてしまう可能性はなくはないです。

なので、

パスワードはセッションに格納した方がいいとのことです。

勿論セッションも取り扱いを間違えるとまずことになるので、

取り扱いには注意が必要です。

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

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

内容

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

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

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

ご用意頂くもの

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

などなど、

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

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

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

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

関連記事

  1. PHP

    CakePHPのモデルはどうしてこんなに重いのか?

    CakePHPを使用していると、なんでこんなに処理が重いの!?…

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

    PHP

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

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

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

    PHP

    cURL関数を使ってみます!!

    XMLファイルのURLを読み込んで処理しようとすると、PHPの…

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

    PHP

    PHPで「Class 'DomDocument' not found」というエラーが!!

    あるプログラムを載せているサーバーを変更することになったのですが、…

  5. PHP

    PHPExcel エクセルをダウンロード

    PHPExcelを使ってエクセルファイルを出力する場合、ファイルを…

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

    PHP

    PHP PDFファイルのアップロード機能を追加

    お客様から、既存システムにPDFファイルをアップロードする機能を追…

最近の記事

  1. WordPress(ワードプレス)
  2. SNS(ソーシャルメディア)
  3. Database(DB:データベース)
  4. Database(DB:データベース)
  5. Twitter
  6. SEO(エスイーオー)
  7. WordPressプラグイン「Anti-spam」
  8. システムエラー
  9. PHP(ピー・エイチ・ピー)
  10. SONY 広角レンズ「SEL1018」
PAGE TOP