자격 증명으로 ESXi 로그인 웹 페이지를 자동 완성하는 greasemonkey 스크립트를 작성하려고합니다. 다음 코드는 입력 필드를 채우고 제출 버튼 수 : 나는 자격 증명이 올바른지에도 불구하고 Cannot complete login due to an incorrect user name or password.
참조 제출 버튼을 클릭 한 후, 불행하게도ESXi 웹 클라이언트 자동 채우기 자격 증명
// ==UserScript==
// @name ESXi autofill credentials
// @namespace https://esx_address/ui/*
// @version 0.1
// @description Autofills user and password inputs
// @author Mirek
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @match https://esx_address/ui/*
// @grant none
// ==/UserScript==
try {
waitForKeyElements ("#password", function(jNode) {jNode.val("password");});
waitForKeyElements ("#username", function(jNode) {jNode.val("user");});
waitForKeyElements ("#submit", function(jNode) {jNode.prop("disabled", false);});
} catch(err) {
console.log("Something went wrong: " + err.message);
}
합니다.
아마도 제출 버튼 사용 문제 일 수 있습니다. 로그인 페이지는 사용자가 사용자 이름 필드에 무언가를 입력하면 사용 가능하게합니다. 불행하게도이 스크립트는이 동작을 트리거하지 않습니다. 스크립트가 활성화되면 로그인 페이지로 이동하여 사용자 이름과 암호 필드의 마지막 문자를 다시 입력하면 로그인이 성공한 것으로 나타났습니다.
제출 버튼을 켜는 방식으로 입력 필드를 채우려면 어떻게해야합니까?
감사합니다. changeAndBlur가 트릭을했습니다. 내가 궁금해하는 이유는 - 개발자가이 관행을 따르는 이유는 무엇입니까? 보안을 강화하는 것입니까? 악의적 인 코더는 항상 그런 "기능"을 해결하는 방법을 찾을 것입니다 ... – Mirek
때로는 봇을 멈추려는 잘못된 시도입니다 (그렇지 않습니다). 때로는 검증 엔진이 좋지 않은 경우도 있습니다. 실제 사용자가 일회용 암호 (또는 암호문)를 암호 관리자와 함께 사용하는 경우 사용자가 작업하는 방식 (마우스 입력, 수동 입력 자격 증명, 마우스 아웃 등)에 대해 잘못된 가정을하는 경우가 있습니다. –