Все записи блога

Страница 1 из 3123

nginx + php-fpm + IP.Board — upstream sent invalid status 40

После переезда с Apache на связку nginx + php-fpm через какое-то время всплыла следующая проблема. При попытке отправить личное сообщение nginx начал выдавать страницу 502 Bad Gateway. Исследование логов nginx выдало такую строчку.

upstream sent invalid status "40" while reading response header from upstream

Как отключить UAC для отдельно взятой программы

Бывает есть часто используемое приложение, но при его запуске выскакивает предупреждение Контроля учётных записей пользователей (UAC). Например есть одна бухгалтерская программа под названием Документы ПУ.

Естественно такое положение вещей начинает раздражать, и предупреждение хочется отключить. Можно конечно полностью отключить UAC, но это это серьёзно понижает уровень защиты компьютера. В сети можно найти несколько не слишком удобных вариантов отключения предупреждения, в основном через Планировщик Windows. Способ хороший, но приходится делать слишком много телодвижений. Для упрощения операций есть отличная утилита, автоматически создающая задачу для Планировщика а также ярлык для запуска программы.

Nginx: редирект в named location

Периодически возникает задача передачи обработки url в нужный именованный location. Сделать это можно следующим образом.

location /abc {
	error_page 463 = @backend;
	return 463;
}

location @backend {
}

Нанесение водяных знаков на изображение

Тема нашего сегодняшнего занятия — нанесение водяных знаков на фотографию для самых маленьких. Если вы не хотите, чтобы родная сердцу фотография разбрелась по всему интернету и использовалась кем попало в разных непотребствах, разумным решением будет пометить картинку водяным знаком с указанием автора, или сайта где оно изначально было выложено.

Делается это очень просто, с помощью замечательной программы EasyWatermark. Установки она не требует, поэтому просто скачиваем, распаковываем в любую понравившуюся папку и запускаем.

Внимание! Поскольку EasyWatermark для своей работы требует .NET Framework 4.0, без наличия оного она может не запуститься. Если запуск завершился ошибкой, переходим по ссылке, качаем и устанавливаем .NET Framework. Для Windows XP берём версию 4.0, для операционных систем поновее ставим 4.5.1.

Google Chrome: Не рекомендуется загружать файл

В один прекрасный момент попытавшись скачать файл с одного своего сайта получил вот такое предупреждение от Google Chrome.

Сообщение в Google Chrome: Не рекомендуется загружать файл так как он может представлять опасность

Не рекомендуется загружать файл так как он может представлять опасность.

Файл 100% никакой опасности не несёт, вирусов или троянов в нём нет. В панели вебмастера Google тоже никаких сообщений по поводу сайта не имеется.

Синхронизация файлов по FTP

Возникла простая задача — по расписанию сливать с сервера свежие бэкапы на локальную машину. Перепробовав несколько программ, подавляющее число которых платное, остановился на бесплатном варианте с помощью WinSCP. Тем более ничего лишнего ставить не требуется, а эта программа не помешает в повседневной работе даже самому крутому админу, работающему на Windows.

Не все знают, что WinSCP поддерживает работу со скриптами. Воспользуемся этой возможностью для синхронизации файлов по FTP.

Ошибка MySQL 1093: Can't specify target table for update in FROM clause

Получил такую ошибку при выполнении SQL запроса со вложенным подзапросом следующего вида.

UPDATE table_name
	SET col = (SELECT col FROM table WHERE id = :x)
	WHERE id = :y

Причина ошибки довольно проста, MySQL не даст обновить ту же самую таблицу, из которой происходит чтение. Проблему можно решить парой способов.

Событие после отправки формы, или некоторые тонкости метода submit

Потребовалось тут однажды выполнить редирект средствами JavaScript, аккурат после отправки формы. Поскольку никакого события типа AfterSubmit в природе не существует, вешаем с помощью JQuery обработчик на событие submit, и будем делать всё в этой функции.

$('#myform').submit(function(e) {
	this.submit();
	window.location.href = 'http://example.com/';
});

Казалось бы, чего проще, и в опере все работало отлично. Однако запустив код в Chrome обнаружил непонятную вещь, редирект успешно проходил, а на сервер ничего не отправлялось.

Как восстановить личные сообщения в IPBoard из резервной копии базы

Возникла на днях следующая ситуация. На одном довольно крупном форуме, работающем на движке IPBoard, через взломанное мыло пользователя был получен доступ на форум. Всё бы ничего, но на форуме работает аукцион, и злоумышленник ухитрился «продать» несколько лотов и получить за них деньги. После того как его запалили, быстренько удалил переписку в личке и пропал.

Собственно это не такая уж и большая проблема, поскольку сообщения все равно будут храниться у того с кем ты переписывался, до того пока он их сам не удалит. Но хотелось бы увидеть переписку со всеми жертвами обмана в одном месте.

Wi-Fi адаптер TP-LINK TL-WN822N

Адаптер был куплен на замену китайскому свистку, который в один прекрасный день окончательно достал своей глючностью и периодическими подвисаниями связи. К роутеру это безымянное чудо инженерной мысли из Поднебесной подключалось на скорости 54 Мбит/с, на деле тянуло не более мегабайта в секунду.

Дума думалась недолго, спустя пару часов серфинга выбор пал на весь такой красивый беленький TP-LINK TL-WN822N.

Wi-Fi адаптер TP-LINK TL-WN822N в работе

Из заявленных ТТХ: подключение на скорости 300 Мбит/с, две несъёмные антенны 3 dBi ну и достаточно недорогая цена, устройство досталось мне за 615 рублей.