Pull to refresh
1
0.1
allter @allter

User

Send message
Э… навскидку:
echo > .htaccess
notepad .htaccess
@rem профит
Сколь угодно строгая — это отключение большинства стилей вообще для предотвращения фишинга? Так об этом и тред.

Но вот в том, что скрипты легко обрезать, не обрезая при этом кучу сторонней функциональности, вы не правы, мне кажется.
Вы, видимо, ещё ни разу не сталкивались лично с другой расшифровкой аббревиатуры CSS: XSS.

Поясните, каким образом вы собираетесь создавать фрейм? iframe?
Вы пробовали? В RFC на относительные URL`ы говорится ясно: для multipart/* частей базовый URL — это сам контейнер, т.е. //host/path в них работать не должен. Только с указанием схемы. А Болк писал про https:/http: URLы.

P.S. Впрочем, в рассылках, ориентированных на web-мэйлы, это, возможно, сработает. Но идея вставлять ссылки на картинок вместо самих картинок — плоха.
Шифровать диски и держать туннели…
Зато можно средствами сторонних программ. Я сгруппировал на Win все операции с окнами и программами: Win+W — раскрытие окна, Win+Q — минимизация, Win+1… Win+8 переключение виртуальных десктопов, Win+~ — переключение между программами и десктопами, Win+Alt+~ — перемещение окон между десктопами.

Надо просто понимать, для чего в историческом плане в PC-клавиатурах вводились эти управляющие клавиши, и использовать их по назначению.
«для полного счастья в windows необходимо» наконец-то «юзабилистам» убрать руки прочь от привычного look&feel`а. :) Если не нравятся Alt и Win, выломайте их из клавиатуры.

P.S. А раскладку я переключаю правым/левым Ctrl`ом…
return в вышеуказанном примере тоже, по сути, кидание исключения особого рода (с той особенностью, что оно заранее предусмотрено сигнатурой функции, а не работает через механизм исключений языка).

Поэтому отбрасывание неподходящих/особых вариантов в теле функции с помощью return, а затем выполнение основной или наиболее общей задачи функции — хорошая практика. Главное, что бы было понятно команде, разрабатывающей софт.
Верно. Надо просто правильно отноститься к учебникам и учебным программам (и к учебным языкам, вроде Бейсика и Паскаля). Реальная жизнь всегда будет сложнее и запутаннее, а соответственно, и приёмы программирования в ней другие, более сложные.
А почему грустное? Вы считаете умение контролировать ресурсы (в данном случае — память) обучающимся «основам алгоритмов» плохим?
А с исключениями также поступать? Типа,
function Fa(a, b)
{
exception = undefined;
if ( a < b ) { exception = new Less() }
elsif ( a > b ) { exception = new More () }

if ( exception ) { throw exception; }
return «success»;
}

Бред? Зато в одном месте точка выхода и киданий исключений. :)
На самом трекере не было размещено закопирайченного материала. Так что прецедент против всех, размещающих ссылки на закопирайченные материалы. Вот разместил ссылку «google.com», а он © 2009 и хорошо, что разрешают смотреть/загружать на комп. А могли бы не разрешить, и тогда… «небо в клеточку»…
Началось по новой.

А вот допустим, есть завод, производящий ножи… И шлют туда гневные письма жертвы ограблений, домашних ссор и т.п. (уже бредовая ситуация, но допустим). И что теперь, заводу по очереди закрывать каждую модель, которая была замешана в незаконной деятельности?
new в контексте безопасности выделения памяти в первом приближении — это всего лишь гибрид malloc и sizeof.

Кроме того, new/delete позволяют переопределить алгоритм выделения памяти «на лету», тогда как malloc гвоздями зашит в стандартную библиотеку C.

Понятно, что malloc/free в конструкторах/деструкторах использовать в общем случае ещё хуже, чем new/delete.
Наверное, основать конкурирующую компанию, которая будет применять исключительно кошерные методы и завоевать с её помощью мир, на зависть вашему директору.
Скорее всего, артефакт, оставшийся от копипасты.
Ясно, спасибо. По поводу стандарта ECMAscript сейчас, когда я немного его полистал у меня разночтений нет — он, действительно, _явно_ запрещает такие эскейпы переводов строк.
ОК, согласно ECMAscript, в какой момент эскейпы \u000A преобразуются из байтов исходника во внутреннее представление в памяти. На стадии токенизации?

Можно ли говорить, что «Здравствуй,\u000A мир» — токен, содержащий символ перевода строки? Содержит ли этот токен символы кавычек?

Escape character-ы — живут не «внутри токенов», а являются терминальными символами — т.е. символами, которыми оперирует грамматика.

«A lexical grammar for ECMAscript is given in clause 7. This grammar has as its terminal symbols the
characters of the Unicode character set.»

Ещё раз, line terminator в контексте ECMAscript — псевдо токен: «Moreover, line terminators, although
not considered to be tokens, also become part of the stream of input elements and guide the process of
automatic semicolon insertion (7.8.5).»

Тогда как _символ_ перевода строки — любой символ, использующийся в ECMAscript как терминальный из следующих:
«The Unicode standard addresses the problem by defining a large number of _characters_ that conforming applications _should_ recognize _as_ line terminators:

LF: Line Feed, U+000A
CR: Carriage Return, U+000D
CR+LF: CR followed by LF, U+000D followed by U+000A
NEL: Next Line, U+0085
FF: Form Feed, U+000C
LS: Line Separator, U+2028
PS: Paragraph Separator, U+2029
»

(http://en.wikipedia.org/wiki/Line_feed)

P.S. Про «так уж повелось с древности» я полностью согласен. Концепция эскейпинга терминальных символов грамматики для того, что бы они попадали в значение токена, даже, если они являются для токена запрещёнными — это не то, что с древности, а с незапамятных времён.
Когда я говорю «мандарин», я имею в виду мандарин, а не апельсин, нектарин, и т.д. Хотя, как цитрусовые, они похожи во многом.

Браузеры также «буквоедствуют» и внимательно следят за deprecated-атрибутом language тега script, твикая обработку того, что они там находят: Jscript или Javascript (давно, правда не изучал, привожу пример для IE 5.5). Сейчас же мы говорим о Javascript, языке, разработанном на скорую руку компанией, которой больше нет (ЕМНИП, AOL её уже «убил»).

То, что вы написали про токены из ECMAscript означает, что переводы строк — отдельные токены, которые применяются для «автоматической расстановки точек с запятой». Соответственно, они не могут быть внутри другого токена. Но это не запрещает _символу_ перевода строки находиться закодированным внутри литерала, хотя бы в виде \uXXXX кода.

Собственно, вся «фишка», которую «нашёл» mcedonskiy, основана на том, что виндовые браузеры воспринимают терминальные символы \<перевод строки> как склейку с нулевой шириной. Конкверор 3.5 воспринимает нормально — в соответствующее синтаксическое дерево попадает символ 0x0A.

В любом случае, идея топикстартера плоха.
Думал что отвечаю двум разным людям — сорри. Что такое line terminator? Нет такого понятия, оно виртуальное. :)

Инстанциируется оно в лексере. Когда лексер ожидает токен, он его заканчивает по определённому символу (в основных языках, кроме питона — любой whitespace — [[:space:]\r\n\v\t]+). Если при этом лексер видит, что токен не полный, он сигнализирует об ошибке. Эскейпинг игнорирует обработку символа, вместо этого заэскейпленное содержимое отправляется в соответствующий элемент синтаксического дерева. Так реализованы токенизаторы большинства LR(1) парсеров с эскейпами.

Хотя я полностью согласен (даже ниже коммент об этом написал), что полагаться на эскейпинг разделителя строк довольно неблагоразумно в условиях зоопарка разноимённых реализаций и платформ. Да и процитированный мной фрагмент заточен на иллюстрацию частных случаев — эскейпингов кавычек и обратных слешей и в вопросе полагается на здравый смысл программистов («backslash is ignored» — туманнее фразы не бывает).

Information

Rating
3,450-th
Registered
Activity