• Можно ли написать вирус на JavaScript?

    Начнем с того, что вирус - это довольно сложная вещь и состоит он обычно из нескольких модулей. Один из них - это эксплойт. Его основная задача - эксплуатировать уже известную уязвимость с целью получения возможности выполнения произвольного кода (как пример).

    Если мы мельком полистаем список уязвимостей, то увидим, что во многих из них фигурирует JS. Вот график взятый с того же сайта:
    RXmc_1mXxXA.jpg
    На нем прекрасно видно динамику уязвимостей приводящих к удаленному выполнению кода (красная линия). Отсюда логичный вывод - js можно использовать как эксплоит.

    Некоторые предыдущие ораторы неверно отмечали - браузер, как и любое другое полноценное приложение, имеет доступ к файловой системе (тот самый обычный доступ, когда можно писать, читать, создавать не системные файлы) посредством API операционной системы (например: WinAPI для windows). Внутри это все выглядит как системный вызов - программа передает управление на уровень ядра, предварительно сказав, что нужно открыть\создать\записать такой-то файл. Значит, нам нужен ассемблерный (да-да, не удивляйтесь) код, на который наш эксплоит передаст управление.

    Ок. Теперь перейдем к самому эксплоиту. Есть такая техника - heap spraying: мы берем нашу полезную (вредную) нагрузку и заполняем ей всю память:
    var buf = new Array();
    // заполним 200МБ памяти
    for(var i = 0;  i != 200; ++i) {
      buf[i] = nop + shellcode;
    }


    И, вполне возможно, что мы перезапишем определенные области (не буду вдаваться в подробности) и сможем выполнить наш shellcode. И да, как сказал riot26 - браузер после такого, скорее всего, крэшнется ... но нам это уже не важно - код будет внедрен и выполнен. Конечно, это банальщина и есть еще 100500 различных вариантов, о которых вам никто не расскажет, но идея ясна.

    PS пользуясь случаем - передаю привет людям в погонах!
    Ответ написан
    2 комментария
  • Как прижать футер к низу страницы?

    Ravell
    @Ravell
    Верстайло
    вот отличный и доходчивый пример, который я использую почти везде

    но в вашем случае скорей нужно:
    .footer {
    width: 100%;
    height: 100px;
    position: fixed;
    bottom: 0;
    z-index: -1;
    background-image: url(ваша трава);
    }
    Ответ написан
    Комментировать
  • Как прижать футер к низу страницы?

    yurakostin
    @yurakostin
    Front-end developer
    Ответ написан
    Комментировать
  • Почему во многих книгах веб - программирования обложка книги - барашки?

    Потому что по мнению программистов существует некто "котопёс" как животное воплощение мира кода, а остальные животные в т.ч. барашки - это его поданные в иерархии как бы.
    Чем круче технология - тем крупнее животное, видите на php хамелеон www.ozon.ru/context/detail/id/31507010 а на Hadop уже слон www.ozon.ru/context/detail/id/24036677
    Ответ написан
    1 комментарий
  • Как вернуть мотивацию к обучению?

    При повторной потере мотивации алгоритм следующий:
    1) Идем высыпаемся. По-нормальному так, без будильников. Чтоб глаза вообще больше не закрывались.
    2) Если мотивация не вернулась (возвращается в 70% случаев) - берем велик (хотя можно и пешком) - и на улицу. Если есть приличный парк в городе - находим пару нестандартных физ. упражнений (можно боевых), пытаемся выполнить. Работа с телом и физические нагрузки - это совершенно другая часть вашего сознания, про нее нужно не забывать.
    3) Если мотивация не вернулась (уже где-то 85% случаев) - берем случайную книгу (не техническую), в идеале - из жанра который вам нравится. Читаем. Спокойно, страницы не считаем.
    4) Если не вернулась, повторить с п. 1 до пяти раз, не думая о времени и выполняя только самые важные дела (срочные задачи по учебе, работа, если есть), можно даже попросить родных/знакомых помочь по дому и бытовым делам, чтобы себя разгрузить.
    5) Если не помогло после 5 раз, задаем новый вопрос на тостере, подробно описываем что делали).

    Хотя бы один из п. 1-3 выполняем для профилактики каждый выходной.
    P.S. в принципе плохо сравнивать себя с кем-то - для "сравнения" на свете есть всякие соревнования и состязания, где есть правила и контекст. В жизни правил нет, один учится в MIT, другой учится в колледже в России - какие могут быть сравнения? Вы думаете тут большинство людей за один год все узнало и всего добилось? Вы глубоко заблуждаетесь) PHP-шники-выскочки не в счет, у них искаженное представление о реальности.
    Ответ написан
    11 комментариев
  • Как вернуть мотивацию к обучению?

    Sprime
    @Sprime
    HTML-верстальщик
    Соберись!
    Либо ты, либо тебя. Мир так устроен.
    В данный момент ты настраиваешь себя, против самого себя. Так что никаких соплей, взял книгу в руки и сиди учи, разбирайся и т.д..
    Ответ написан
    Комментировать
  • Как прижать футер к низу страницы?

    gluck59
    @gluck59
    Виртуальный глюк
    Зачем извращения? Назначьте футеру
    position: fixed;
        bottom: 0px;

    Там есть одна маленькая хитрость, но вы догадаетесь ;)
    Ответ написан
    Комментировать