Deleted
В том же ASP.NET бэкенде если списать в передаваемые текстовые данные что то похожее на XSS то сервер просто выплюнет ошибку
Bakhodir 𝖨̷𝖨̷𝖨̷
Я много xss атак проводил, и поверьте, innerHTML там никогда не засвечивался
Deleted
А это уже не имеет никакой связи с innerHTML
Я и не говорил что имеет Вы сказали про "если на сервере все хорошо и все фильтруется"
Bakhodir 𝖨̷𝖨̷𝖨̷
Так можно сначала через WAF прогнать
Bakhodir 𝖨̷𝖨̷𝖨̷
Или вообще PHP или python юзать
Bakhodir 𝖨̷𝖨̷𝖨̷
Мде, не самый хороший пример
Bakhodir 𝖨̷𝖨̷𝖨̷
Но WAF имеет место
Дмитрий
Здравствуйте, товарищи! Я тут потихоньку ковыряю правила линтера и местами кое что не понимаю. Мне сейчас важно понять устоявшиеся правила в JS, всякие гуд практис, традиции и пр. т.ч. я иногда буду тут задавать вопросы. ОК? Вот например тут не особо понял: https://eslint.org/docs/rules/no-plusplus В чем суть? Что значит "Because the unary ++ and -- operators are subject to automatic semicolon insertion, differences in whitespace can change semantics of source code."?
Deleted
Надо иметь очень большую команду или очень много зеленых джунов чтобы получить такую ситуацию в коде
Roman
это уже другой вопрос
Deleted
Суть заключается в том, что всегда надо в конец строки ставить ";", иначе хрен знает что будет вытворять интерпретатор js
Придерживаюсь абсолютно обратной практики, от standardjs линтера Полностью отказаться от ; но придерживаться правил которые защищают от подобных ошибок
Bakhodir 𝖨̷𝖨̷𝖨̷
Deleted
Roman
да
Deleted
двусмысленный синтаксис
Roman
я неправильный пример привел
Deleted
Можно придумать другой workaround для этой проблемы
Deleted
например брать в скобки
Roman
такой себе воркераунд
Roman
уже проще врубить правило и не париться
Deleted
Самая старая и рабочая практика чтобы контроллировать порядок операторов
Deleted
Ну не знаю, это сильно портит читаемость кода
Уже два года на standardjs код стал чище
Bakhodir 𝖨̷𝖨̷𝖨̷
что именно?
Именно читаемость кода
Roman
типа? ;[1, 2, 3].forEach()
Roman
Именно читаемость кода
не, я имею в виду, какая именно конструкция портит?
Дмитрий
Стоп. Что-то я запутался. Для начала, что значит "Because the unary ++ and -- operators are subject to automatic semicolon insertion, differences in whitespace can change semantics of source code."?
Bakhodir 𝖨̷𝖨̷𝖨̷
Придется ломать голову, а это продолжение кода или уже другое выражение
Дмитрий
Гугл переводит так: "Поскольку унарные ++ и -- операторы подвержены автоматической вставки точки с запятой, различия в пробелах могут изменять семантику исходного кода." Я не понимаю, что значит "...операторы подвержены автоматической вставки точки с запятой". Как это понять?
Дмитрий
Просто Airbnb в своих правилах ссылается на эту же формулировку.
Deleted
А подробнее?
++ оператор может быть как префиксным оператором (то есть стоят перед перменной) так и постфиксным (стоять после переменной) Это значит - то как он воспринимается автоматическими инструментами зависит от контекста (в смысле от кода и пробелов и переносов) или от логики этого инструмента
Deleted
Но я повторюсь - это довольно строгое правило) То есть команда поставила себе высокую планку качества и защищается от любых потенциальных ошибок в коде
Дмитрий
Roman
я вообще нигде ++ не использую больше
Deleted
Bakhodir 𝖨̷𝖨̷𝖨̷
Дмитрий, у каждого ЯП есть правила хорошего тона, которые не обязательны, но их стоит придерживатся если пишете код не для себя. В JS собственно надо четко понимать что выполняет данное выражение и после него прописать знак ";". Если будете придерживатся этим правилам, то траблы которые приведены в статье не будут иметь место.
Roman
ну в руби например вообще нет ++
Roman
но и for лупов нет 😄
Deleted
в языке программирования для марсохода вообще нет циклов, чтобы исключить любую возможность зависания Вопрос планки качества в проекте
Roman
ну просто написание без циклов бьет по производительности разработчика, а правило про ++ - не бьет
Дмитрий
да в for использовать инкремент и декремент абсолютно безопасно
Вот мне тоже так показалось. Но тогда зачем чистое правило? Перестраховка?
Bakhodir 𝖨̷𝖨̷𝖨̷
в языке программирования для марсохода вообще нет циклов, чтобы исключить любую возможность зависания Вопрос планки качества в проекте
Ну возможно потому, что там все четко определено, и не приходится что-то прогонять и искать что-то нужное
Deleted
Ну возможно потому, что там все четко определено, и не приходится что-то прогонять и искать что-то нужное
бесконечный цикл обработки показаний датчика, стандартная вещь для любого микроконтроллера
Bakhodir 𝖨̷𝖨̷𝖨̷
Логично
Deleted
Но космическая техника под влиянием радиации может получить смену бита в памяти
Deleted
и тогда бац - цикл стал бесконечным)
Deleted
Вот мне тоже так показалось. Но тогда зачем чистое правило? Перестраховка?
вы имеете ввиду почему сразу не написали смешанное правило с исключением для for?
Deleted
Да.
Потому что это правильный подход для создания библиотеки Ты пишешь отдельные компоненты которые выполняют только свою задачу - а то как их использовать решает тот кто пользуется библиотекой
Deleted
unix way
Deleted
Я люблю понимать традиции любого языка, с которым сталкиваюсь и стараюсь следовать им. Не люблю придумывать стандарты. Для этого есть люди умнее меня.
у JS с этим проблемы, потому что он изначально создавался не для того для чего используется сейчас + его на его развитие влияет очень разношерстное сообщество, можно сказать JS впитывает в себя идеи от всех других языков потому одного верного мнения вы не найдете
Artem Kasapchuk
товарищи как сделать что бы на мобильных показывалась цифровая клавиатура для input type="password" ?
Artem Kasapchuk
попробуй добавить pattern="[0-9]*"
пробовал в хроме не показывается(
Deleted
пробовал в хроме не показывается(
попробуй еще inputmode="numeric" может уже поддержка появилась, я не проверял это из нового стандарта
Artem Kasapchuk
inputmode={'numeric'} pattern={'[0-9]*'}
Artem Kasapchuk
пофигу хрому(((
Anonymous
Нотерад
Xaxashutkin
notepad++ показывает все возможно кодировку нужно будет ченуть только
Deleted
Как насчет удалить все невидимые символы через sed?
Deleted
понял, я думал ненужные символы попали в код
Viktor
HEX
Bakhodir 𝖨̷𝖨̷𝖨̷
Да это не невидимые символы, а чаркоды Невидимые символы это табуляции, переводы строк и т.д
Bakhodir 𝖨̷𝖨̷𝖨̷
Надо JS интерпретатор, текстовые редакторы не помогут
Viktor
А зачем тебе их просматривать, если не секрет