сижу, ничего не делаю, никого не трогаю, лениво отсекаю головы лернейской гидре, тьфу, новому червю, у которого ссылки оканчиваются на 'm28sx', как вдруг падает смс'ка. испанского друга трудоустраивают на работу в секьюрную контору и дают в реальном времени решить такую задачу -- отгадать результат выполнения следующего кода, причем код битый и потому вставкой в барузер задача не решается, а решается она только при знании стандартов и особенностями их конкретных имплементаций.
короче, вот следующий код:
<script>eval(unescape('%64%6F%63%75<script>eval(unescape('%64%6F%63%75%6D%65%6E%74%2<script>eval(unescape('%64%6F%63%75%6D%65%6E%74%2E%77%72
товарищ, смолоду куривший PHP, думал, что браузер разобьет это на теги прежде, чем начнет исполнять скрипт, подставляя на место <script>xxxx</script> его содержимое.
на самом деле после первого <script> бразуер тупо ищет </script> и ему по фиг все остальные теги внутри (на самом деле не совсем по фиг, особенно лису они не по фиг, но это мы залезаем в глубокие материи).
короче, я ему отправляю sms, что данный скрипт не рабочий, что вложенные теги script не поддерживаются и уж точно не замещаются результатом выполнения скрипта.
ответ: неверно!!!! скрипт рабочий. просто eval выполняется однажды, и unescape выполняется лишь однажды и возвращает следующую строку:
"docu<script>eval(unescape('document%2<script>eval(unescape('document.wr"
это же _беспредел_ граждане-товарищи!!! это же полная бессмыслица!!! с другой стороны... испанскую богомать доить за сиськи -- вопрос был: "результат выполнения следующего кода". вот он и есть этот результат. то есть вопрос как бы корректный. но вот меня чего-то понесло вместо ответа на простой вопрос в какие-то дебри. фактически я ответил на _другой_ вопрос, чем и угробил товарища.
но все-таки это не гуманно давать такие задачи. я понимаю, что именно они позволяют выявлять настоящих программистов/инженеров, отвечающий четко на _поставленный_ вопрос, а не додумывающий его за заказчика, но... это же беспредел на ровном месте.
ладно, с вопросом мы разобрались... меня заинтересовал сам _класс_ таких задач. когда постановка задачи сбивает с толку, подталкивая испытуемого к ответу на другой вопрос. в данном случае испытуемый сразу же задумывается как обрабатываются вложенные теги script, что уводить его от ответа и он выдает неверное решение.
с такими задачами я встречался и раньше, но сходу не могу ни одной вспомнить. народ не подкинет? заранее спасибо!!!
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.