2017-11-21 122 views
5

Safari, aslında parola sıfırlama belirtecini (Kimlik user_reset_password_token ve adı user[reset_password_token]) temsil etmesi beklenen bir HIDDEN form alanının üzerine yazıyor.Safari otomatik doldurma gizli "parola belirtecini sıfırla" girdisi

Tahmin edebileceğiniz gibi, şifre sıfırlandığında şifre sıfırlanır, bu yüzden bir sorunum var.

Safari'de otomatik doldurmayı devre dışı bırakırsam veya Safari dışındaki herhangi bir tarayıcıyı kullanırsam, gayet iyi çalıştığını doğruladım.

Bu sorunun çözümü olan var mı?

+1

Otomatik Safari'de doldurmak devre dışı bırakılması memnun değil misiniz:

= f.hidden_field :reset_password_token, readonly: true 

yüzden bu var: Böyle, benim gizli girişine readonly özellik ekleyerek ile sorun çözüldü? – Swellar

+1

Tabii ki değil! Bu benim için bir çözüm çünkü sorunun ne olduğunu biliyorum, ama ya kullanıcılarım? Çoğu insanın otomatik doldurma özelliğine sahip olduğunu varsayıyorum, çünkü varsayılan olarak ... – elsurudo

cevap

0

Bunu yapmak için temiz bir yol yoktur. Bir geçici çözüm, bundan önce sahte bir giriş yapmaktır, böylece safari otomatik olarak doldurur ve girişinizi değil. Örneğin böyle somethink:

<input id="fake_password" name="fake_user[password]" style="position:absolute; top:-100px;" type="text" value="Safari Autofill Me"> 

top-100px ekran, çünkü bu giriş gizlemek için burada: yok bazı durumlarda otomatik doldurma önleyebilir ...

0
gizli alan için

devre dışı bırak otomatik tamamlama:

HTML:

<input name="reset_password_token" type="hidden" autocomplete="off"> 

Raylar (kullanarak form-yardımcı):

012.
<%= f.hidden_field :reset_password_token, autocomplete: 'off' %> 
+0

maalesef safari otomatik tamamlama özelliğini yok sayar – enjaku

1

Sadece aynı sorunu yaşadım.

<input id="user_reset_password_token" name="user[reset_password_token]" readonly="readonly" type="hidden" value="YXHRuRgppyzxqsdEXiNm"> 
İlgili konular