LastPass가 양식 작성 중지


130

LastPass 브라우저 확장이 "사용자 이름"이라는 이름의 입력 필드로 HTML 기반 양식을 채우는 것을 방지하는 방법이 있습니까?

이것은 숨겨진 필드이므로 어떤 소프트웨어도이 필드를 목적으로 사용하지 않기를 바랍니다.

<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">

해결책은 "입력 필드 이름 바꾸기"와 같지 않아야합니다.


12
필드가 숨겨져있는 경우 설정하는 것이 좋습니다 type="hidden"CSS와 숨기기 그 대신
Reeno

2
작동하지 않기 때문에 오답을 수락 한 것 같습니다 ... Alexander가 제안한 것이 작동하므로 선택을 전환하고 싶을 수도 있습니다.;)
Dominique

2
아주 간단 $(':input').attr('data-lpignore', true);합니다. 이렇게하면 모든 양식의 마지막 통과 양식 채우기가 비활성화됩니다.
Adarsh ​​Madrecha

답변:


170

첨가

data-lpignore="true"

입력 필드에 회색 LastPass [...] 상자가 비활성화되었습니다.

에서 공급 LastPass.com


5
이것은 유효한 대답이어야합니다. LP는이 속성을 존중하는 것처럼 보이며 미친 "검색"이름이나 ID 또는 역할을 요구하지 않습니다.
Corneliu

28
이것은 단지 회색 아이콘을 제거하지만 입력 자동 완성을 무시 명 LastPass를 중지하지 않습니다
아르 니스 Juraga에게

26
이 "형태에서 정지 명 LastPass 충전"NOT을 수행하기 때문에이 허용 대답해서는 안
콘라드 워홀을

3
답변에 제공된 링크 ( lastpass.com/support.php?cmd=showfaq&id=10512 )에 따라 LP는 해당 필드에 아이콘이 표시되는 것을 방지합니다
Kunal

47

두 가지 조건이 충족되어야합니다.

  1. 양식 (안 요소)가 필요 autocomplete="off"속성을
  2. Lastpass 사용자는이 옵션을 활성화해야합니다. Settings > Advanced > Allow pages to disable autofill

따라서 이것은 사용자와 개발자 모두에 달려 있습니다.


39

나를 위해 일한 것은 양식의 id에 "-search-"라는 단어가 있다는 것입니다 <form id="affiliate-search-form">.-그리고 lastpass는 양식 입력에 요소를 추가하지 않습니다. 더 간단한 것과 함께 작동 <form id="search">하지만 작동하지 않습니다.<form id="se1rch">


8
-필드 이름 또는 클래스 속성에 "search"또는 "srch"라는 단어가 포함 된 경우-양식 ID 또는 이름 속성에 "search"가 포함 된 경우 -양식 역할 속성이 "search"인 경우
e1v

1
불행히도 이것은 암호 필드에서 작동하지 않습니다. 사실상 양식은 여전히 ​​자동으로 채워집니다. 필자의 경우 search사용자 이름과 암호 모두에 클래스로 추가 하면 사용자 이름 필드의 별표 버튼이 비활성화되었지만 암호 필드는 그대로 유지됩니다.
Mike Rockétt 2015 년

2
예,이 방법을 사용할 때 비밀번호 필드가 여전히 채워져 있음을 확인할 수 있습니다. :-(
사이먼 이스트

7
이것은 현재 Lastpass 버전에 더 이상 적용되지 않습니다. 따라서이 대답은 제거되어야합니다.
Heroselohim 2016-06-25

4
단일 입력 필드의 ID에 -search-를 추가하면 Chrome 51, LastPass 4.1.17에서 작동합니다. 양식에 추가해도 도움이되지 않습니다.
Alex2php

18

나는 내가 여기 파티에 늦었다는 것을 알고 있지만 lastpass가 내 양식을 망치는 것을 막으려 고 할 때 이것을 발견했습니다. @takeshin은 자동 완성이 충분하지 않다는 점에서 정확합니다. 나는 기호를 숨기기 위해 아래 해킹을 끝냈다. 예쁘지는 않지만 아이콘을 제거했습니다.

마지막 통과 개발자가이 글을 읽고 있다면 사용할 속성을 알려주세요. 따라서 이와 같은 것에 의지 할 필요가 없습니다.

form[autocomplete="off"] input[type="text"] {
    background-position: 150% 50% !important;
}

2
이것이 저에게 효과가 있었던 유일한 솔루션입니다 (실제로 사용자가 어차피 할 것이라고 예상하지 않는 lastpass 설정을 사용하더라도) background-image. 입력 필드에 저를 설정하는 것과 충돌 합니다 ( "clear 입력 필드에 버튼 ") - 또한 나를 위해 일한 무엇을하는 경우는 설정 한 background-imagebackground-position!important명 LastPass 내장 스타일을 재정의합니다.
Guss

매우 창의적인 사고! 감사합니다!
Howard

18

나는 lastpass 가 입력 속성을 존중 한다고 생각autocomplete="off" 하지만 100 % 확신하지는 않습니다.

다른 사람들이 지적했듯이 편집하십시오 . 사용자가이를 준수하도록 마지막 패스를 구성한 경우에만 작동합니다.


20
예,하지만 기본적으로는 아닙니다 : helpdesk.lastpass.com/extension-preferences/advanced
Marco

12
마지막 패스가 autocomplete="off"양식 수준에서 적용되지 않음을 확인할 수 있습니다 . 그것은 잘못된 이메일 주소를 표시하는 것처럼 보이는 "사용자 편집"양식에 개발 시간을 낭비했습니다. lastpass 기본 설정에는 "이미 채워진 필드를 덮어 쓰지 않음"옵션이있어 많은 도움이됩니다.
Jason

7
Marco가 말했듯이이 동작을 활성화해야합니다. Preferences-> Advanced-> Respect AutoComplete = off : 웹 사이트에서 자동 완성을 비활성화하도록 허용
Dan

lastpass에서 이것을 어떻게 우회합니까?
Crash893

14

나를 위해 type=search약간 같 text거나 사용하는 작업role=note .

LastPass-JavaScript를 확인할 수는 있지만 엄청나게 크며, 거기에서 몇 가지 해결 방법을 찾을 수 있습니다. 내가 본 것에서 4 개의 입력 유형 만 확인하므로 input type=search한 가지 해결 방법이 있습니다.

!c.form && ("text" == c.type || "password" == c.type || "url" == c.type || "email" == c.type) && lpIsVisible(c))

또한 이들은 role무시하는 것처럼 보이는 키워드입니다.

var c = b.getAttribute("role");
switch (c) {
case "navigation":
case "banner":
case "contentinfo":
case "note":
case "search":
case "seealso":
case "columnheader":
case "presentation":
case "toolbar":
case "directory":`

LastPass '를 확인 onloadwff.js하고 26.960 줄의 코드를 준비합니다. :)


5
나는 위의 모든 답변을 시도 type=search했으며 나에게 맞는 유일한 것입니다.
Ryan King

1
+1, type=searchLastPass "Respect autocomplete = off"설정의 상태에 관계없이 자동 완성을 방지하는 유일한 방법 인 것 같습니다 .
johnnyRose

시도 추가 role="note"또는 type="search". 최신 Chrome 및 최신 lastpass에서는 작동하지 않았습니다.
Nikita 웃 jul.

그것은 보인다 lpignore, 다시 작동하고 나에게이 바이올린https://jsfiddle.net/78z0L1sa/3/
MushyPeas

OMG, 이것은 성가신 일입니다. LastPass가 내 type = text 암호 필드를 type = password로 변환하고이 특정 화면에서 암호를 확인해야했고 LastPass는 사용자가 저장 한시기를 알지 못하는 사이에 올바른 암호가 아닌 사이트 암호를 추가했습니다. 자격 증명을 변경하고 다른 시스템과의 연결을 끊었습니다. lpignore는 아이콘 만 제거했고 다른 솔루션에는 사용자 상호 작용이 필요했지만 이상적이지 않았습니다. 마지막으로 검색 유형을 변경하면 효과가 있습니다. 다른 사람의 소프트웨어 때문에 이렇게하는 것이 싫지만. 어쨌든, 이것에 찬성 투표하십시오.
Jason Martin

10

입력 ID에 "검색"추가

<input type="text" name="user" id="user-search"/>

1
나를 위해 잘 작동합니다. 최신 Chrome에서 테스트되었습니다. 그것은 약간의 해킹이지만 다른 것만 큼 잠재적으로 깨지는 것은 아니므로 나는 그것을 할 것입니다.
Tedd Hansen

6

파티에 조금 늦었지만 다음과 같이 양식을 수정하여 이것을 달성했습니다.

<form autocomplete="off" name="lastpass-disable-search">

나는이 바보가 그것이 검색 양식이라고 생각하도록 마지막으로 통과한다고 생각합니다. 그러나 이것은 암호 필드에서는 작동하지 않습니다! 이 경우 Lastpass는 이름 필드를 무시합니다.

이 작업을 수행 한 유일한 방법은 양식 맨 위에 다음을 직접 추가하는 것입니다.

<form autocomplete="off">
    <div id="lp" ><input type="text" /><input type="password" /></div><script type="text/javascript">setTimeout(function(){document.getElementById('lp').style.display = 'none'},75);</script>
</form>

심한 깜박임이 발생하지만 "비밀번호 생성"위젯이 여전히 표시되지만 자동 완성 넌센스를 제거합니다. LastPass는 domready까지 기다린 다음 보이는 암호 필드가 있는지 확인하므로 위의 모의 필드를 숨기거나 축소 할 수 없습니다.


5

Lastpass의 최신 2019 년 10 월 버그 릴리스의 경우이 간단한 수정이 가장 좋은 것 같습니다.

더하다

type="search"

귀하의 입력에.

lastpass 루틴은 type속성을 확인하여 자동 채우기로 수행 할 작업을 결정하고이 html5에서는 아무 작업도 수행하지 않습니다.type "search" . 물론 이것은 약간 엉망이지만 버그가있는 스크립트를 수정할 때 쉽게 제거 할 수있는 한 줄 변경입니다.

참고 :이 작업을 수행 한 후 type속성 을 선택하면 일부 브라우저에서 입력 스타일이 다르게 나타날 수 있습니다 . 당신이 관찰하는 경우에, 당신은 브라우저 별 CSS 속성을 설정하여 발생하는 것을 방지 할 수 있습니다 -webkit-appearance-moz-appearance'none'귀하의 의견에.


4

이 ES6 스타일 코드는 모든 입력 컨트롤 에 data-lpignore 를 추가했기 때문에 도움이되었습니다 .

const elements = document.getElementsByTagName("INPUT");
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}

특정 INPUT 컨트롤에 액세스하려면 다음과 같이 작성할 수 있습니다.

document.getElementById('userInput').setAttribute("data-lpignore", "true");

또는 클래스 이름으로 수행 할 수 있습니다.

const elements = document.getElementsByClassName('no-last-pass');
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}

1

여기에있는 옵션 (자동 완성, data-lpignore 등) 중 어떤 것도 LastPass가 내 양식 필드를 자동으로 채우는 것을 막지 못했습니다. 나는 문제에 대해 좀 더 sledge-hammer 접근 방식을 취하고 name대신 JavaScript를 통해 입력 속성을 비동기 적으로 설정했습니다 . 다음 jQuery 종속 함수 (양식의 onsubmit 이벤트 핸들러에서 호출 됨)가 트릭을 수행했습니다.

function setInputNames() {
    $('#myForm input').each(function(idx, el) {
        el = $(el);
        if (el.attr('tmp-name')) {
            el.attr('name', el.attr('tmp-name'));
        }
    });
}

$('#myForm').submit(setInputNames);

양식에서는 단순히 tmp-name동등한 name속성 대신 속성을 사용 했습니다 . 예:

<form id="myForm" method="post" action="/someUrl">
    <input name="username" type="text">
    <input tmp-name="password" type="password">
</form>

업데이트 2019-03-20

나는 양식 필드에 따라 AngularJS 때문에 위의 문제에 여전히 어려움을 겪었습니다. namengMessages가 필드 유효성 검사 오류 메시지를 올바르게 표시하기 위해 속성이있는 발생했습니다.

궁극적으로 LastPass가 내 비밀번호 변경 양식의 비밀번호 필드를 채우는 것을 방지 할 수있는 유일한 해결책은 다음과 같습니다.

  1. input[type=password]완전히 사용하지 말고
  2. 필드 이름에 '비밀번호'가 없어야합니다.

제 경우에는 일반적으로 양식을 제출할 수 있어야하므로 원래 솔루션을 사용하여 '적시에'필드 이름을 업데이트했습니다. 암호 입력 필드를 사용하지 않기 위해이 솔루션이 매우 잘 작동한다는 것을 알았습니다 .


0

-search 이름 바꾸기를 시도했지만 어떤 이유로 작동하지 않았습니다. 나를 위해 일한 것은 다음과 같습니다.

  1. 양식을 자동 완성으로 표시-autocomplete = "off"
  2. 양식 필드 입력 유형을 텍스트로 변경
  3. 입력을 마스킹하기 위해 CSS에 새 클래스를 추가하고 암호 필드를 시뮬레이션합니다.
  4. css 비트 : input.masker {-webkit-text-security : disc; }

최신 버전의 FF 및 Chrome에서 시도하고 테스트했습니다.


0

다음은 lastpass가 Chrome에서 면도기 @ Html.EditorFor 상자를 채우는 것을 방지하기 위해 저를 위해 일한 것입니다.

도구 모음에서 활성 LastPass 아이콘을 클릭 한 다음 계정 옵션> 확장 기본 설정으로 이동합니다.

이 화면에서 "이미 채워진 필드를 덮어 쓰지 않음"(하단)을 선택합니다.

다음으로 왼쪽의 "고급"을 클릭하십시오.

이 화면에서 "Respect AutoComplete = off : Allow website to disable Autofill"을 선택합니다.

ASP cshtml 양식에서 특별한 작업을 수행 할 필요가 없었지만 @ Html.EditorFor 상자의 양식에는 기본값이 있습니다.

나는 이것이 누군가에게 도움이되고 효과가 있기를 바랍니다. 웹 에서이 문제에 대한 Razor 관련 도움말을 찾을 수 없었기 때문에 위의 링크와 기여를 통해 알아 냈기 때문에 이것을 추가 할 것이라고 생각했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.