На самом деле апдейт прошивки у меня случается очень редко и это вообще не критично.
Я не пользовался port knocking, но вообще мне скрипт для стучания по портам или держание комбинации в голове чуть больше напрягает, чем команда на создание тоннеля, которая еще и защищает от всяких атак на канал до роутера.
Надо сказать, не думал о том что оставшийся открытым сайт может сделать запрос сильно после загрузки. Наверное, наивное ожидание того что левую ссылку я распознаю сразу после открытия.
Есть что-то такое. Но мне не хотелось менять браузер только из-за того что его особенность позволяет что-то легко эксплуатировать. Роутер то тоже в этой ситуации виноват.
Про перебор. Если это целевая атака именно на меня, то почему бы и не перебрать. Знание о том что я повесил веб интерфейс роутера на другой порт не такое тайное.
Имху, костыль, да, груз совместимости. Но он мне тоже нравится. Если очень хочется, можно переопределить оператор для сложения строк. (может быть даже, в бусте есть для этого заголовочный файл, хотя есть риск что-то отломать). А в одном из новых стандартов мб есть что-то для компактного инплэйс создания константных std::string вместо const char[].
А еще для меня все это выглядит логично. Складывать char* нельзя, если хочешь складывать — пользуешься std::string. При этом я не вижу в использовании std::string чего-то языкового. Это, хоть и стандартная, но библиотека, и имеет свои семантические границы.
Свежачок заставил задуматься. Мне, на самом деле, не очень понятна суть list initialization (я про них почти не смотрел). Но, если бы код писал я, я писал бы
А я как пользователь вообще хочу возможность создавать файлы с одинаковыми именами. Мне кажется, что это ближе к юниксовому подходу, где не пытаются смешать удобство пользования и техническую потребность в идентификации файлов.
Алсо: предположим, мы узнаем о падении достаточно крупного, чтобы закончить цивилизацию, метеорита. Это же будет тема для очень крутого вида туризма — собраться народом в удобной точке обзора и посмотреть на конец своей цивилизации. Покруче солнечных затмений и всяких воздушных вихрей.
… мальчику пришлось расстаться со своей собственной рукой.
Но осилить стандарт все еще дается не всем… :)
Я не пользовался port knocking, но вообще мне скрипт для стучания по портам или держание комбинации в голове чуть больше напрягает, чем команда на создание тоннеля, которая еще и защищает от всяких атак на канал до роутера.
Ну и атака это дело такое. Вчера, условно, не было соседа, а сегодня приехал и ему очень нужен мой роутер.
Не уверен, что тут действительно есть повод для гордости, но ту команду для создания тоннеля я могу набрать быстро и не смотря в ман.
Про перебор. Если это целевая атака именно на меня, то почему бы и не перебрать. Знание о том что я повесил веб интерфейс роутера на другой порт не такое тайное.
Но мне не хотелось прятать багу за какой-то нестандартный порт. Порты можно и перебрать при желании.
А еще для меня все это выглядит логично. Складывать char* нельзя, если хочешь складывать — пользуешься std::string. При этом я не вижу в использовании std::string чего-то языкового. Это, хоть и стандартная, но библиотека, и имеет свои семантические границы.
Свежачок заставил задуматься. Мне, на самом деле, не очень понятна суть list initialization (я про них почти не смотрел). Но, если бы код писал я, я писал бы
То что иногда можно не писать тип перед {}, это, вроде, скорее приятное исключение. (как в составе = { })
const — гарантия неизменения состояния объекта
& — работа непосредственно с передаваемым экземпляром, без копирования
?
Мне нравились все эти штуки, когда я изучал плюсы.
Алсо: предположим, мы узнаем о падении достаточно крупного, чтобы закончить цивилизацию, метеорита. Это же будет тема для очень крутого вида туризма — собраться народом в удобной точке обзора и посмотреть на конец своей цивилизации. Покруче солнечных затмений и всяких воздушных вихрей.