@saidufa said in Размер профиля после обновления BAS:
@sergerdn вернул настройки как в предыдущей версии БАС и всё встало на свои места
Выше я скинул код, как сайт спалит тебя что ты вернул флаг
@GamiD супер, спасибо, все облазил, только это помогло! Сайт один сменил обычную Recaptcha 2 на Enterprise версию. Соответственно стандартный модуль решения рекапчи не пашет, точнее в моем случае он ее решает, но т.к. капча кастомная, то вставляется она не туда куда надо. Как надо делать: по инструкции @GamiD находите коллбек функции, скорее всего она будет содержать в своем названии "___grecaptcha_cfg.clients". Потом с помощью модуля https://community.bablosoft.com/topic/11187/captchacustom решаете капчу, ее нужно будет вручную настроить, вписать токен сайта. Я его взял из запроса, который ушел через стандартный модуль решения рекапчи. После решения результат оказывается в переменной [[RESPONSE]] Потом в действии выполнить яваскрипт в браузере вписываете строчку с найденной по инструкции callback функции:
___grecaptcha_cfg.clients[1].B.B.callback([[RESPONSE]]);
Благодарности @GamiD за инструкцию и @GhostZ за суперский модуль
Возникла следующая проблема, название коллбэк функции меняется, а конкретно вот эта ее часть ___grecaptcha_cfg.clients[1].B.B.callback
Не знаю как часто, возможно раз в пару дней и скорее всего не из за меня а просто автоматом такая фича у этрерпрайз версии. Но все равно это черевато сливом денег на антикапчу и времени вникуда если вовремя это не отследить. Вопрос, как то можно это выпарсить название автоматически каким то яваскрипт запросом?
@GamiD said in помогите вызвать CallbackFunction после ришения капчи:
@serrgo Попробуй код который выше дал засунуть в "Выполнить Javascript На Элементе" в селектор укажи путь во внутренности iframe и запустить
Столкнулся с такой же проблемой.
Уже все советы с форума перепробовал, не хочет выполнятся переход.
Подскажите где искать данную функцию
@GamiD said in помогите вызвать CallbackFunction после ришения капчи:
@dobrok https://community.bablosoft.com/topic/15414/решение-recaptcha2-с-callback
а в той теме ссылка на эту тему :D
@GamiD said in помогите вызвать CallbackFunction после ришения капчи:
@dobrok https://community.bablosoft.com/topic/15414/решение-recaptcha2-с-callback
У меня hcaptcha, скачивал смотрел... не робит.
const findRecap = () => {
function findRecaptchaClients() {
// eslint-disable-next-line camelcase
if (typeof (___grecaptcha_cfg) !== 'undefined') {
// eslint-disable-next-line camelcase, no-undef
return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => {
const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' }
const objects = Object.entries(client).filter(([_, value]) => value && typeof value === 'object');
objects.forEach(([toplevelKey, toplevel]) => {
const found = Object.entries(toplevel).find(([_, value]) => (
value && typeof value === 'object' && 'sitekey' in value && 'size' in value
));
if (typeof toplevel === 'object' && toplevel instanceof HTMLElement && toplevel['tagName'] === 'DIV') {
data.pageurl = toplevel.baseURI;
}
if (found) {
const [sublevelKey, sublevel] = found;
data.sitekey = sublevel.sitekey;
const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback';
const callback = sublevel[callbackKey];
if (!callback) {
data.callback = null;
data.function = null;
} else {
data.function = callback;
const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join('');
data.callback = `___grecaptcha_cfg.clients${keys}`;
}
}
});
return data;
});
}
return [];
}
return findRecaptchaClients();
};
document.getElementById('g-recaptcha-response').value = [[CAPTCHA_RESPONSE]];
const recapData = findRecap();
const callbackPath = recapData[0].callback;
try {
eval(`${callbackPath}('${[[CAPTCHA_RESPONSE]]}')`);
} catch (e) {
console.log("Error when calling the callback:", e);
}
Лично мне помогает такое решение (в частности для ReCaptcha v2 Invisible):
*Если, конечно, кому-то это решение еще нужно спустя несколько лет. 👀