Pull to refresh

Comments 52

UFO just landed and posted this here
Странно, мне всегда казалось что F12 удобней.
Имеется ввиду переход в саму консоль, а не на последнюю активную вкладку в Developer Tools.
Только если смотреть на клавиатуру.
Макбука сейчас под рукой нет, но помнится мне, что там Ф12 не работало по умолчанию.
На «Маке» F12 переключает на экран виджетов.
Или прибавляет громкость )
Нажимать Fn+F12 на буке неудобно — надо руки сильно растопыривать :)
Уж лучше Cmd+Alt+J.
Функции по умолчанию клавиш F1 — F12 зависят от модели Мака.
У меня например, без нажатия на Fn, клавиша F12 делает громче звук.
На «Маке» нет отдельной клавиши F12, как, например, нет отдельной клавиши для символа «#». «Решётка» вводится нажатием Shift+3, F12 — Fn + 12-я клавиша в верхнем ряду (отсюда и название — Fn).
Внезапно!

UPD:
сорян, не обратил внимания что коммент от 2014 года О_о


UPD2:
интересно, почему у меня эта статья 8-ми летней давности вылезла в "что обсуждают"… все комменты за 2014 год.

alt+cmd+I => Web Inspector, alt+cmd+J => консоль. А еще фулскрин-режим — не F11, а shift+cmd+F
На F12 может быть повешен какой-нибудь терминал типа guake, а длинные горячие клавиши как правило не переопределяют.
На маке и линуксе это не работает.
Хм, Mint 15 и F12 работает, но на ноутбуке неудобно из-за Fn
судя по видео, это не hotkey. Там приглашают нажать J в строке адреса страницы, а через CTRL^V вставить содержимое буфера обмена. Скорее всего «j» им нужна как первая буква javascript, чтоб «javascript:» явно не фигурировал в копируемом тексте (может на это есть защита).
В Chrome при попытке вставить в адресную строку что-либо, начинающееся на «javascript:» (например, "javascript:alert(1);"), начало строки автоматически обрежется (останется только "alert(1);").
Возможно, что-то подобное есть и в Safari.

В Safari нужно "Разрешить запуск JavaScript из строки поиска" в меню "Разработка", которое нужно предварительно включить в настройках браузера.

если посмотреть видео, то виодно что в буффере обмена ссылка типа «avascript://code here», и просьба, мол выдели адресную строку целиком, нажми j, и ctrl+V, enter. получается «javascript://code» который радостно исполниться ) приему 100 лет в обед, но я даже не думал что его можно так использовать :)
Интересная задача — защититься от выполнения пользователем произвольного кода.
HttpOnly-куки, не оставлять ничего в глобальном скоупе, все AJAX-запросы только с одноразовыми токенами?
ВКонтакте так не думает. По крайней мере по части глобальных переменных точно.
Во вконтакте, кстати, довольно увлекательная консоль.
Сидишь и прямо видишь, как жизнь протекает мимо.
JS это не совсем тот язык где можно быть уверенным что получив доступ к консоли хоть что-то останется тайной. Тут мы подменяем Function.call и врываемся в самые глубокие скоупы. Это можно избежать, если хитро написать код, но там очень много мест куда так можно ворваться. Можно Number.toString\valueOf подменить на функцию, которая будет попутно смотреть кто её позвал и запоминать — это уже будут внутренности скоупа.
если хитро написать код
Что-нибудь типа такого?

while((Function.call+'').replace(/\n| /g, '') != "functioncall(){[nativecode]}");
Тоже можно обойти через
Function.call.toString=function(){return "function call() { [native code] }"}
Заменить Function.prototype.toString…
кстати да, сам над этой проблемой работал.

Я хотел разработать защиту от кликджекинга на уровне JS — считывать opacity и z-index, отсылать их фрейму через постмессаж + nonce спрятанная внутри моего замыкания. Пришел к выводу что придется постоянно сверять toString+'' и нет гарантий что енвайромент не изменен
Это же далеко не всегда поможет: можно взять конкретную кнопку на странице и сделать onclick. И как отличать, нажали мышкой/по enter/по хоткею или же «программным» образом?
можно пытаться отлавливать координаты мыши в момент клика(видел в одной браузерке), программный клик вроде бы не оставляет таких следов
оставляет, можно свой евент добавить, и заполнить его любые поля
Ну, штучно лайки проставлять — это не так страшно, как угон аккаунтов и спам.
А всё таки, как же они блокируют консоль где-то кроме Хрома? Если я правильно понял, то console._commandLineAPI только для хрома подходит(command line api)
Не понимаю как это может помочь пользователям. Ну не будет доступа в консоль, ни чего не помешает, так же попросить ввести в адресную строку нечто вроде: javascript:, и этот код будет выполнен.
Но и это имхо слишком сложно для пользователя, куда проще, попросить добавить в закладки такую строчку, а потом просто кликнуть по ней на нужной странице. Вот примерно так: jsfiddle.net/q9atS/1/embedded/result/

Так что необходимость такой «защиты» весьма сомнительна.

ап. посмотрел видео, там о том же и говорят.
Ввод javascript (по крайней мере, вставка из буфера), вроде бы, в большинстве современных браузеров уже «сломана»?
да, но Internet Explorer проверяет содержимое адресной строки после вставки текста, поэтому там надо сначала вставить текст без первой j, потом нажать
Да, при вставке из буфера javascript вырезается, но вот при клике по закладке все работает как надо.
Проверял в Chrome 30.0.1599.66
Когда же они успели-то? Казалось бы, совсем недавно так делал…
Почему-то вспомнил про «ALT+F4» в онлайн играх (CS, WoT), перед игрой в чатах писали, что это супер фишка, режим бога, скорее нажимайте! И было видно как люди уходили в оффлайн, нажимая кнопки.
Ну, Alt+F4 особо вредной нагрузки не несет. Надо быть полным идиотом, чтобы сделать так два раза — а один раз никому сильно не повредит. Разве что во время турнира… Хотя, все же некоторое сходство с описанными атаками тут и правда есть.
Спасибо за шорткат Ctrl+Shift+J — не знал.
А для хрома есть какие расширения (в магазин не нашёл) позволяющие добавить хоткеи- вот например закрытие вкладки по F4 (а не по Alt+F4)- чтоб быстрее и пальцы лишний раз не корячить?
Все-таки ctrl+f4 :-) Есть еще проще — ctrl+w, с ним пальцы сложно поломать
Один из инженеров Facebook сообщил на Stackoverflow, что отключение всей консоли произошло по ошибке. Предполагалось, что нововведение поможет бороться с одним из методов социальной инженерии: stackoverflow.com/a/21693931
Увидел, что в посте об этом и написано. Посыпаю голову пеплом.
Sign up to leave a comment.

Articles