ブラウザがnotのように<input type="password" />
を使用する方法を見たことを覚えています。パスワードを保存するようにユーザーに要求します。しかし、私は空白を描いています。これを行うHTML属性またはJavaScriptのトリックはありますか?
autocomplete="off"
を使用してみてください。ただし、すべてのブラウザでサポートされているかどうかはわかりません。 MSDNドキュメント こちら 。
EDIT:注:ほとんどのブラウザーは、この属性のサポートを終了しました。 autocomplete = "off"はすべての最新ブラウザーと互換性がありますか? を参照してください。
これはほぼ間違いなく、Webサイトのデザイナーではなくユーザーに任せる必要があります。
<input type="password" autocomplete="off" />
これをユーザーとして追加したいのですが、これは非常に迷惑で、面倒なことです。これはユーザーを悪化させる可能性が高いため、これを使用しないことを強くお勧めします。
パスワードはすでにMRUに保存されていないため、正しく構成されたパブリックマシンはユーザー名も保存しません。
別の方法で解決しました。これを試すことができます。
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
// Using jQuery
$(function(){
setTimeout(function(){
$("input#passfld").attr("type","password");
},10);
});
// or in pure javascript
window.onload=function(){
setTimeout(function(){
document.getElementById('passfld').type = 'password';
},10);
}
</script>
#別の方法
<script type="text/javascript">
function setAutoCompleteOFF(tm){
if(typeof tm =="undefined"){tm=10;}
try{
var inputs=$(".auto-complete-off,input[autocomplete=off]");
setTimeout(function(){
inputs.each(function(){
var old_value=$(this).attr("value");
var thisobj=$(this);
setTimeout(function(){
thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed");
thisobj.val(old_value);
},tm);
});
},tm);
}catch(e){}
}
$(function(){
setAutoCompleteOFF();
});
</script>
//属性autocomplete = "off"を追加する必要があります。または、クラス.auto-complete-offを入力ボックスに追加してお楽しみください
例:
<input id="passfld" type="password" autocomplete="off" />
OR
<input id="passfld" class="auto-complete-off" type="password" />
セキュリティの問題については、セキュリティコンサルタントがフィールド全体の問題について説明します(これは実際の独立したセキュリティ監査によるものです)。
HTMLオートコンプリートが有効-HTMLフォームのパスワードフィールドでオートコンプリートが有効になっています。ほとんどのブラウザには、HTMLフォームに入力されたユーザー資格情報を記憶する機能があります。
相対リスク:低
影響を受けるシステム/デバイス:o https:// ******* /
また、これが本当にプライベートなデータを含むanyフィールドをカバーすることに同意します。そのサイトが[普遍的または法的なコンプライアンス要件により]保護されるべきものにアクセスしようとするときはいつでも、常にクレジットカード情報、CVCコード、パスワード、ユーザー名などを入力するように強制することは大丈夫だと思います。例:購入フォーム、銀行/クレジットサイト、税務サイト、医療データ、連邦、原子力など-notStack OverflowやFacebookなどのサイト。
他のタイプのサイト-例TimeStar Onlineは出勤と退出のために-職場で常に同じPC /アカウントを使用しているため、そのサイトに資格情報を保存できないのは愚かです-奇妙なことにAndroid iPadではありません。共有PCであっても、誰か他の人の出入りは本当に上司を困らせる以外何もしないので、それほど悪くはないでしょう。 (彼らは入って、間違ったパンチを削除する必要があります-ただ公共のPCに保存しないことを選択してください)。
私は次を試してみましたが、どのブラウザでも動作するようです:
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
$(function(){
var passElem = $("input#passfld");
passElem.focus(function() {
passElem.prop("type", "password");
});
});
</script>
この方法は、タイムアウトテクニックを使用するよりもはるかに安全です。これは、ユーザーがフォーカスを合わせたときに入力フィールドがパスワードを取得することを保証するためです。
これが最良の答えであり、最も簡単です! input
フィールドの前に追加のパスワードフィールドを配置し、display:none
を設定します。これにより、ブラウザが入力するときに、気にならないinput
で入力します。
これを変更:
<input type="password" name="password" size="25" class="input" id="password" value="">
これに:
<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">
また、 この答え どこでも動作するこの簡単なソリューションを使用しています(Safariモバイルの修正も参照してください):
<input type="password" readonly onfocus="this.removeAttribute('readonly');"/>
<input type="password" placeholder="Enter New Password" autocomplete="new-password">
どうぞ。
JQueryを使用して、IDでアイテムを選択できます。
$("input#Password").attr("autocomplete","off");
または、タイプ別にアイテムを選択します。
$("input[type='password']").attr("autocomplete","off");
または:
純粋なJavascriptを使用できます。
document.getElementById('Password').autocomplete = 'off';
次のように使用することもできます
$('#Password').attr("autocomplete", "off");
setTimeout('$("#Password").val("");', 2000);
FirefoxとChromeで次の作品が見つかりました。
<form ... > <!-- more stuff -->
<input name="person" type="text" size=30 value="">
<input name="mypswd" type="password" size=6 value="" autocomplete="off">
<input name="userid" type="text" value="security" style="display:none">
<input name="passwd" type="password" value="faker" style="display:none">
<!-- more stuff --> </form>
これらはすべてフォームセクション内にあります。 「person」と「mypswd」は必要なものですが、ブラウザは「userid」と「passwd」を一度保存しますが、変更されないので二度と保存しません。本当に必要ない場合は、「個人」フィールドを削除できます。その場合、必要なのは「mypswd」フィールドだけです。これは、Webページのユーザーに既知の何らかの方法で変更される可能性があります。
ほとんどの主要なブラウザの場合、フォームの外部に入力があり、フォームに接続されていないため、ブラウザは送信されなかったと思わせます。この場合、ログインには純粋なJS検証を使用する必要があり、パスワードの暗号化も必要になります。
前:
<form action="..."><input type="password"/></form>
後:
<input type="password"/>
Firefox、Edge、およびInternet Explorerでオートコンプリートをオフにする唯一の方法は、次のようなフォームステートメントにautocomplete = "false"を追加することです。
<form action="postingpage.php" autocomplete="false" method="post">
そして、フォーム入力にautocomplete = "off"を追加し、タイプをテキストに変更する必要があります。
<input type="text" autocomplete="off">
このhtmlコードはブラウザで標準化する必要があるようです。ブラウザの設定を上書きするように、フォームタイプ=パスワードを修正する必要があります。唯一の問題は、入力マスキングが失われたことです。しかし、明るい面では、迷惑な「このサイトは安全ではありません」はFirefoxでは表示されません。
私にとっては、ユーザーはすでに認証されており、ユーザー名とパスワードの変更部分が変更されているため、大したことではありません