2009-10-30 16 views

答えて

26

パスワードのマスク文字を標準のパスワードフィールドで変更することはできません。あなたはテキストボックスでそれを偽造することができますが、それはあなたがパスワードテキストボックスから行う保護を受けないので弱いセキュリティモデルになります。このような項目の動作を変更することは一般的には好ましくありません。なぜなら、ユーザーはあるタイプのマスキングに慣れており、別のものを導入することになるからです。これを行う正当な理由がなければ、それを避ける。

+0

http://stackoverflow.com/questions/31604402/replace-text-with-stars-in-html-without-javascript?noredirect = 1#comment51159417_31604402 –

3

いいえ - ユーザーエージェントは独自のデフォルトスタイルを選択し、マスキング文字を決定するために変更できるCSS属性はありません。

もちろん、これはパスワードフィールドが標準テキストフィールドで、javascriptイベントハンドラ(おそらくonKeyPress)で入力を手動でマスクした場合に可能です。フィールドをtype="password"とHTMLで宣言してJS関数でDOMを変更して型を変更させることもできます。私はこれをすることについて少し気をつけているだろう。ブラウザの実装はほぼ確実に非常に確固としており、確立されたセキュリティ機能を迂回して自分自身をロールバックすることはまれです。

+6

確立されたセキュリティ機能はありますか? HTMLのパスワードとテキスト入力フィールドはほぼ同じですが、UIの変更だけで、パスワードフィールドでマスクが行われます。 私はあなたの答えをdownvotingしていませんが、これは車輪を再発明したり自作の暗号エンジンを作成するようなものではなく、あなたの好みに合ったUI要素にパッチを当てるだけです。 – Spidey

+1

@Spideyでは、文字のマスキングの他に、ブラウザやオペレーティングシステムに応じてパスワードフィールドからコンテンツをコピーすることもできません。 –

+1

@MicahHenningこれを指摘していただきありがとうございます。とにかく、ユーザーがカスタムテキストボックスからコピーを試みたとしても、実際のパスワードをマスクするために選択した記号やアスタリスクや記号などはすべて彼が得るでしょう。 – Spidey

1

今のところ、これはWebkitブラウザで可能であるように見えます。例とドキュメントについては、http://help.dottoro.com/lcbkewgt.phpを参照してください。

パスワード入力には適用されません

<input type="text" style="-webkit-text-security: square;" />

この答えが書かれたときの、さらにはWebKitのブラウザで、あなたは文字のように、他のブラウザのための良い解決策はありません指定することができます非常に限られています。

+4

これは動作しません。私は4つの異なるブラウザでそれをテストしました。 –

+0

が更新されました。ありがとう@OleHaugset。 – www139

14

input[type="password"]には、@font-facefont-family(およびfont-size)を使用してください。あなたの問題を解決するのに役立つはずです。しかし...あなたは、置き換えられた箇条書きとアスタリスク文字でフォントを作成する必要があります。フォント内のすべての文字番号が同じ文字を表す場合があります。ベクターフォントを編集する無料のプログラムを見つけるためにgoogleを使用してください。

「不可能」とは決して言わないでください。問題のハックが見つかるはずです。

シンボルに置き換えられる文字(Chrome、Firefox、MSIEの場合): 26AB、25E6,25CF、25D8,25D9,2219,20F0,2022,2024,00B7,002A。

(18C)私は偽物それがテキストボックスで、私はパスワードのこの機能を使用していないが、質問を確認してくださいするにはどうすればよい

+1

共有するフォント例がありますか? – camolin3

+0

これは完璧な答えになるはずです...ありがとうございました...私の問題を解決しました。 –

+1

@waLLe:女性ではない...人々は抽象的で多レベルの行動をとることはめったにありません。 BTW。質問は古いですが(2009年)、まだアクティブです。これまでは '@ font-face'は定義されていませんでした。 2009年には可能ではありませんでしたが、Firefoxがv3.5、IEのv6、Chromeのv4をサポートしているにもかかわらず、人々は答えを繰り返す。しかし、まだ... Opera Miniはサポートしていません。私が私の答えを書いたとき、主な答えは+ 21点です。 – 18C

0

<input type="text" style="-webkit-text-security: circle;" />

+1

CSSプロパティ '-webkit-text-security'は、IE、Firefox、またはOperaでは機能しません。 – sorak

関連する問題