回答:
を使用してみてくださいautocomplete="off"
。ただし、すべてのブラウザでサポートされているかどうかは不明です。MSDNドキュメントはこちら。
編集:注:ほとんどのブラウザーでは、この属性のサポートが廃止されています。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" />
私は次のことを試しましたが、どのブラウザでも機能するようです:
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
$(function(){
var passElem = $("input#passfld");
passElem.focus(function() {
passElem.prop("type", "password");
});
});
</script>
この方法は、タイムアウトテクニックを使用するよりもはるかに安全です。これは、ユーザーがフォーカスしたときに入力フィールドがパスワードに委ねられることを保証するためです。
セキュリティの問題については、これはセキュリティコンサルタントがフィールドの問題全体についてあなたに伝えるものです(これは実際の独立したセキュリティ監査からのものです):
HTMLオートコンプリートが有効– HTMLフォームのパスワードフィールドでは、オートコンプリートが有効になっています。ほとんどのブラウザーには、HTMLフォームに入力されたユーザー資格情報を記憶する機能があります。
相対リスク:低
影響を受けるシステム/デバイス:o https:// * ** * *** /
私はこれが真にプライベートなデータを含むあらゆるフィールドをカバーすることに同意します。そのサイトが安全に保管する必要のあるものにアクセスしようとするときはいつでも、[クレジットカード情報、CVCコード、パスワード、ユーザー名などを常に入力するように強制しても大丈夫だと思います。例:購入フォーム、銀行/クレジットサイト、税務サイト、医療データ、連邦、核など-Stack OverflowやFacebook などのサイトではありません。
他のタイプのサイト-たとえば、仕事に出入りするためのTimeStar Online-仕事で常に同じPC /アカウントを使用しているため、そのサイトに資格情報を保存できないので、おかしいです。 iPadではできません。共有PCでも、他の人の出入りは実際には何もせず、上司を困らせるだけなので、それほど悪くはありません。(彼らは入り、誤ったパンチを削除する必要があります-公共のPCに保存しないことを選択してください)。
これが最良の答えであり、最も簡単です!追加のパスワードフィールドをフィールドの前に置き、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="">
display:none
私(クローム61 OSX)のために動作しませんが、これはありません:<input type="password" style="position: absolute; top: -1000px;">
次のように使用することもできます
$('#Password').attr("autocomplete", "off");
setTimeout('$("#Password").val("");', 2000);
見オートコンプリートをオフ=廃止されて、私はより多くの最近の解決策を提案します。
パスワードフィールドを通常のテキストフィールドに設定し、CSSを使用して「ディスク」で入力をマスクします。コードは次のようになります。
<input type="text" class="myPassword" />
input .myPassword{
text-security:disc;
-webkit-text-security:disc;
-mox-text-security:disc;
}
これは、Firefoxブラウザでは適切に機能しない可能性があり、追加のウォークアラウンドが必要であることに注意してください。詳しくは、https://stackoverflow.com/a/49304708/5477548をご覧ください。
ほとんどの主要なブラウザーの場合、外部の入力があり、フォームに接続されていないため、ブラウザーはだまされて送信がなかったと考えます。この場合、ログインには純粋なJS検証を使用する必要があり、パスワードの暗号化も必要になります。
前:
<form action="..."><input type="password"/></form>
後:
<input type="password"/>
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ページのユーザーが知っている方法で変更される可能性があります。
firefox、edge、Internet Explorerでオートコンプリートをオフにできる唯一の方法は、次のようなフォームステートメントにautocomplete = "false"を追加することです。
<form action="postingpage.php" autocomplete="false" method="post">
そして、autocomplete = "off"をフォーム入力に追加し、タイプをテキストに変更する必要があります。
<input type="text" autocomplete="off">
このhtmlコードはブラウザで標準化する必要があるようです。type = passwordの形式は、ブラウザの設定を上書きするように修正する必要があります。唯一の問題は、入力マスキングを失ったことです。しかし、明るい面では、迷惑な「このサイトは安全ではありません」はFirefoxに表示されません。
私にとっては、ユーザーはすでに認証されており、私のユーザー名とパスワードの変更部分があるので、大したことではありません