Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Не поставил favicon на сайте — получи двойной трафик от Chrome

Время на прочтение3 мин
Количество просмотров18K
Впервые за пять лет разработки интернет-сайтов я столкнулся с весьма неожиданной проблемой, стоившей мне многих часов поиска, нервов и волос на голове. Внезапно я обнаружил, что на новом сайте, который у меня сейчас в разработке на локалхосте, дублируются INSERT запросы к БД. Отправляю один комментарий через форму, а в базу вставляются два. Если вы не знаете, как связана эта проблема с Chrome, favicon.ico и ModRewrite, то добро пожаловать под кат.
Читать дальше →
Всего голосов 91: ↑32 и ↓59-27
Комментарии60

Уязвимость в WPAD позволяет получать доступ к данным, защищенным при помощи HTTPS и VPN

Время на прочтение5 мин
Количество просмотров24K

Исследователи рекомендуют срочно отключить протокол WPAD на Windows


Web Proxy Auto-Discovery Protocol (WPAD) — это протокол автоматической настройки прокси, который используется клиентами (браузером) для определения места (URL) расположения конфигурационного файла с использованием технологий DHCP и/или DNS. При совершении запроса браузером вызывается функция FindProxyForURL из PAC-файла, куда передается URL и хост. Ожидаемый ответ — список прокси, через которые будет осуществляться выход на этот адрес.

WPAD включен по умолчанию в Windows, поддерживается он и другими операционными системами. Но этот протокол подвержен ряду уязвимостей, что показали специалисты по информационной безопасности Алекс Чапман (Alex Chapman) и Пол Стоун (Paul Stone) на Defcon. Злоумышленники, используя эти уязвимости, могут получить данные жертвы (история поиска, доступы к аккаунтам, фото, документы и т.п.), несмотря на HTTPS или VPS соединения. Тип атаки, который применяется в этом случае — man-in-the-middle.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии19

Каламбуры типизации функций в C

Время на прочтение8 мин
Количество просмотров23K

У C репутация негибкого языка. Но вы знаете, что вы можете изменить порядок аргументов функции в C, если он вам не нравится?


#include <math.h>
#include <stdio.h>

double  DoubleToTheInt(double base, int power) {
    return pow(base, power);
}

int main() {
    // приводим к указателю на функуцию с обратным порядком аргументов
    double (*IntPowerOfDouble)(int, double) =
        (double (*)(int, double))&DoubleToTheInt;

    printf("(0.99)^100: %lf \n", DoubleToTheInt(0.99, 100));
    printf("(0.99)^100: %lf \n", IntPowerOfDouble(100, 0.99));
}

Этот код на самом деле никогда не определяет функцию IntPowerOfDouble — потому что функции IntPowerOfDouble не существует. Это переменная, указывающая на DoubleToTheInt, но с типом, который говорит, что ему хочется, чтобы аргумент типа int шел перед аргументом типа double.


Вы могли бы ожидать, что IntPowerOfDouble примет аргументы в том же порядке, что и DoubleToTheInt, но приведет аргументы к другим типам, или что-то типа того. Но это не то, что происходит.


Попробуйте — вы увидите одинаковый результат в обоих строчках.


emiller@gibbon ~> clang something.c 
emiller@gibbon ~> ./a.out 
(0.99)^100: 0.366032 
(0.99)^100: 0.366032 
Читать дальше →
Всего голосов 78: ↑74 и ↓4+70
Комментарии38

Почему я люблю работать с вебом. Реми Шарп

Время на прочтение3 мин
Количество просмотров17K
Реми Шарп — создатель таких сайтов, как сonfwall, jsbin.com, html5demos.com, responsivepx.com, nodemon, mit-license.org, snapbird.org, 5 minute fork и jsconsole.com. Предлагаю вашему вниманию перевод статьи Реми Шарпа «Почему я люблю работать с вебом».

«Легко значит скучно. Вот почему я люблю веб и браузеры» – автор

Мне нравится, что мой код может работать где угодно и для кого угодно. На самом деле, это вызов. Веб — чрезвычайно многообразная среда, где каждый человек может просматривать что бы то ни было так, как ему хочется.

Круто, конечно, если посетитель использует современный и мощный настольный компьютер. Но так же вероятно и то, что он просматривает веб-сайт с рабочего компьютера, используя старый и встроенный браузер Internet Explorer 8.

Дуглас Крокфорд как-то сказал:
«Веб — это наиболее враждебная среда разработки, которую только можно представить».

И он чертовски прав. Это та враждебность, которая даёт мне доступ в мир. Это та «враждебность», которую я называю своим ежедневным вызовом.

Эта враждебная среда вдохновляет меня. Сделать так, чтобы моя страница рендерилась везде. Написать код таким образом, чтобы страницу мог видеть каждый.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии21

Крошечный Excel на чистом JavaScript (30 строк кода)

Время на прочтение2 мин
Количество просмотров137K
Особенности:
  • Около 30 строк обычного JavaScript
  • Использованные библиотеки: отсутствуют
  • Синтаксис как в Excel (формулы начинаются с "=")
  • Поддерживаются произвольные выражения(=A1+B2*C3)
  • Обнаруживаются циклические ссылки
  • Автоматическое сохранение в localStorage

image
Читать дальше →
Всего голосов 238: ↑232 и ↓6+226
Комментарии98

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность