Dika
достаточно прогнать js через http://jsbeautifier.org и все становится ясно что и как в нем работает.
Мм, нет. Попробуй прогнать через https://github.com/javascript-obfuscator/javascript-obfuscator и потом через beautifier.
Fedor
норм, да
Анатолий
Вообще я противник капчей. Это высокомерно со стороны владельца ресурса перекладывать его проблемы со спамерами на плечи пользователей)
Fedor
именно
Aleksey
не так и сложно
Aleksey
очевидно _0x1eea('0x0') вернет имя
Aleksey
тупо регуляркой найти все вхождения и позаменять на правильные имена
Dika
function hi() { console[_0x1eea('0x0')]('Hello\x20World!'); } hi();
Если поставить нормальные опции, self defending, то получится вот такое: https://pastebin.com/tR6eXycs И если тут что-то изменить, то скрипт не будет работать из-за self-defending.
Aleksey
Это из function hi() { console.log("Hello World!"); } hi();
жееееесть... Hello World появляется через 5 секунд ))
Dika
жееееесть... Hello World появляется через 5 секунд ))
из-за debugProtection в браузере может подлагивать. У меня на ноде выполнение скрипта занимает 0.1с.
Aleksey
хм... я только форматировал js и нода уходит в бесконечный цикл. Как он это делает? )
Aleksey
Ага... вот она магия. var _0x516d25 = function () { var _0x51f8cd = new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}'); return _0x51f8cd['test'](_0xcdc31a['removeCookie']['toString']()); }; Если функция removeCookie форматирована, то запускается бесконечный цикл поедающий память. Просто вернул function(){return'dev';} и заработало Я сразу думал о toString или toSource
Anonymous
Скорее всего используется такая особенность как ReDoS
Aleksey
(new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}')).toString() "/\w+ *\(\) *{\w+ *['|"].+['|"];? *}/" просто проверяется чтобы спец функция (маркер) в исходниках была написана в одну строку
Aleksey
если она не в одну строку - код пытаются деобусифицировать и запускается бесконечный цикл
Aleksey
var arr=['*'] for ( var i=0;i<arr.length;i++ ) { // тут какойто мусор пушится, главное что код выглядет разумно и цикл был вечным arr.push(1); }
NCR
How to center an anchor?
Андрей
NCR
In relation of div with button and anchor?
NCR
vertical-align: middle;?
NCR
Isn't work
Y're
Коллеги, есть ли готовое решение как в инпуте привязать к каретке поповер? Либо самопилить, на примете добавить невидимый блок, в нем дублировать символы ДО каретки. Но проблема при выходе за пределы инпута)
Kontsedal
родителю display: flex; align-items: center;
Anonymous
we('.news_header').each(function(i , e){ console.log(e[i])}); получаю набор обьектов, а как нырнуть в обьект? мне нужно тут выташить e[0][path] по сути это возможно вообще?
Anonymous
а все отбой) Все оказалось очень просто)
Anonymous
Ребят всем привет
Anonymous
Подскажите, как сделать, чтобы в php виджет в админке modx, подгружались данные из форм?
Anonymous
Виджет - простая таблица
Anonymous
Данные нужны из форм и из теграм бота
Андрей
В названии чата нет слова php
Андрей
let outer = () => { let a = () => { let result = 0; result += 1 if(true) {b(result)} } let b =(result) => {result++; return result} a() return result }
Андрей
что нужно исправить что бы функция outer возвращала 2
Anonymous
Собеседование?)
Андрей
нет, кодворс
Андрей
не знаю как иначе решить
Stepan
let outer = () => 2
Pavel
ахахаха
Anonymous
const outer = _ => 2
Stepan
Может там еще какието условия есть?
Андрей
эм. Я показал абстрактный код
Denis
А как можно исправить абстрактный код?
Pavel
Раз все такие троли
Андрей
Какая задача - такой ответ.
Pavel
у тебя функция b принимает result - внутри этой функции - result не ссылка на твой резалт а новая переменна. Просто убери аргумент у метода b
Андрей
https://jsfiddle.net/334dp5by/
Pavel
у него result не видно за пределами a
ах да, у себя я вынес высше но забыл написать)
Pavel
спасибо что поправил.
Pavel
var outer1 = () => { let result = 0; let a = () => { result += 1 if(true) {b(result)} } let b =() => { result++; return result } a() return result }
Pavel
только пиши в слудеющий раз по лучше (стилестически)
Андрей
я чуть выше дал ссылку на жсфидл.Там код в котором все это нужно сделать
Андрей
Сейчас порпобую убрать из аргументов
Pavel
Сейчас порпобую убрать из аргументов
И вынеси let result = 0; выше за пределы функции a
Андрей
И вынеси let result = 0; выше за пределы функции a
Спасибо, заработало. Но все же, я не понимаю почему нужно было убрать из параметров. И в функциональном программировании считается что все изменяемые переменные должны передаваться аргументами. Здесь никак иначе нельзя?
Pavel
Андрей
Добавил ретерн вызову Б
Андрей
и вызову А
Pavel
и вызову А
ага, возвращаю функцию которая в свою очередь возвращает другую а другая уже возвращает значение
yandexphp
Всем привет. Хэлпаните) как вернуть ответ? ajax + promise
yandexphp
yandexphp
А там на асинхронность ваще плевать... ответ всегда такой..
yandexphp
мне нужно через 1 функцию без callback`ов вернуть ответ
yandexphp
для этого использую Promise но он возрващает null
Stepan
await async
yandexphp
пусть даже если будет асинхронный запрос
NCR
Разработчику плевать, он так и в мастер коммитит
yandexphp
-.-
Anonymous
await async
смешно будет смотреться с $.ajax. Чем axios или fetch не угодили?
Андрей
return new Promise(res => ajax({success: data => res(data)}))