=

11 Joomla фейковая панель администратора

Подойдет для сайтов НЕ использующих Joomla -
для отслеживания подборов паролей и бана неправильных пользователей.

для защиты от брутфорса реальной админки лучше использовать fail2ban / mod_security / etc

Для установки скрипта достаточно скопировать его в корень сайта в папку /administrator.
При вводе любого пароля скрипт дополнит лог файл log.txt, а пользователю покажется ошибка с фейспалмом на заднем плане.
Жаль роботы его не оценят.

Добавлено : Чт Ноя 19, 2015 13:57

Автор : surg30n

Просмотров : 18756

12 Joomla 3.4 - Оптимизируем системный плагин кэширования страниц

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

Алгоритм работы этого плагина: слушаем события

onAfterInitialise - смотрим есть ли кэш данной страницы, если есть отдаем клиенту, завершаем работу
onAfterRender - кэшируем содержание страницы, если она не прописана в исключениях

После включения не замечаем прибавки в скорости генерации страницы?

Добавлено : Чт Ноя 19, 2015 13:40

Автор : surg30n

Просмотров : 13130

13 Скрипт мониторинга цен яндекс маркета

Скрипт мониторинга цен с яндекс маркета.
При запуске скрипт загружает список товаров из файлов excel (в папке /sheets/*.xlsx).
Для каждого товара на втором листе должен быть указан идентификатор (http://market.yandex.ru/product/{8229520}/)
Далее скрипт обращается к яндекс маркету и достает мин и мак цены на товар.
В таблицу записывается средняя цена.

Обновлятор можно повесить на крон/планировщик.
Для папки cache требуются права на запись.

Добавлено : Ср Апр 08, 2015 12:25

Автор : surg30n

Просмотров : 14626

14 PHP 5.6 - Что нового

Функции с переменным количеством аргументов ... // Variadic functions

Новый оператор ..., означающий упаковку/раскаповку аргументов.

Например, func_get_args() теперь может быть заменена на

Массивы и перечисляемые типы могут быть распакованы в список аргументов.
Этот оператор известен как "splat operator" в других языках, например Ruby.

Пример: известная своим неторопливым временем исполнения функция
call_user_func_array(callable $callback, array $param_arr)

может быть заменена на

$param_arr = [1,2,3];
$callback(...$param_arr);

Добавлено : Вт Ноя 18, 2014 13:23

Автор : surg30n

Просмотров : 9818

15 SatCMS 0.0.2 - Bootstrap3, jQuery, RequireJS, AngularJS, PHP, mySQL|SQLite

Решил на досуге переписать свою старую мультисайтовую cms (SatCMS).

Что получилось:

- php >=5.3, mysql/sqlite
- зависимости обрабатываются менеджерами пакетов: php - composer, js - bower
- мультисайтовость (возможность вести несколько сайтов/поддоменов) на одном движке
- морда/админка - шаблоны smarty, bootstrap 3
- админ-бэкенд на requirejs/angularjs/bootstrap.
Angular-way не блюдется, так как много легаси кода, и выпиливать jquery-подход совсем не хочется, простите за dom в контроллере :)
- правка элементов сайта прямо с морды (пользуется inline tinymce)



Посмотреть:

Демо http://satcms.ru/
Гитхаб https://github.com/rustyJ4ck/SatCMS

Добавлено : Ср Май 21, 2014 15:56

Автор : surg30n

Просмотров : 11501

16 Mysql удаление дублей в таблице

Имеем таблицу с торговыми предложениями

CREATE TABLE IF NOT EXISTS `offers` (
  `id` int(10) unsigned NOT NULL,
  `product_id` int(10) unsigned NOT NULL,
  `value` decimal(10,0) NOT NULL,
  `discount` tinyint(4) NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Добавлено : Вт Сен 10, 2013 14:20

Автор : surg30n

Просмотров : 8309

17 Prestashop 1.5.3, впечатления

Под 200 запросов на рендер главной страницы - это многовато.
Например выборка брендов и товаров для них занимает порядочное количество времени, если
делать это с помощью средств встроенной ORM.

Пример времени выполнения главной страницы
с включенным файловым кэшем, отключенными сайдбарами и практически без модулей

[0.0000] Start
[0.0925] DispatcherCore::dispatch : IndexController
[0.1333] FrontControllerCore::initContent
[0.2011] INDEX IndexController::initContent
[0.2063] HomeSlider::hookDisplayHome
[0.2735] PSwidget text cached -- 0.00029 ttl 300
[0.2740] PSwidget index/brands cached -- 0.00032 ttl 300
[0.2750] Smarty: /themes/mytheme/layout-index.tpl -- 0.00666
[0.2751] Done
[0.2752] SQL 92 x 0.02554


Добавлено : Вс Фев 24, 2013 14:16

Автор : surg30n

Просмотров : 12988

18 CSS3 кнопки и IE9

IE9, казалось бы, должен безусловно поддерживать CSS3, но увы - только частично.
К примеру, кнопку с градиентом и скругленными углами (border-radius) IE9 нарисует с бэкграундом,
выступающим за скругленные углы. Вместо того чтобы реализовать нормальную поддержку css, мелкософт сделал
поделку (внезапно - полезную), которая позволяет генерить градиенты в svg формате для использования в качестве
бэкграунда.

Что делать?

Добавлено : Пт Фев 22, 2013 10:33

Автор : surg30n

Просмотров : 7945

19 Менеджер пакетов pkgng FreeBSD 8.4 (pkg_* -> pkg)

Переход на пакетный менеджер pkgng

На старом сервере при установке пакета увидел сообщение -
pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng
--> решил обновить пакетный менеджер.

Добавлено : Пн Сен 10, 2012 14:20

Автор : surg30n

Просмотров : 8105

20 PHP 5.5 что нового

Новый функционал для работы с паролями

Текущая реализация генерации пароля в большинстве проектов стоится на не стойких
алгоритмах типа md5, sha1. В php5.5 предлагается улучшить парольный API.
Подробнее

empty() заставят работать с функциями и выражениями

В настоящий момент empty($this->getBlah()) вызовет фатальную ошибку.

Скалярные тайпхинты!

Дождались.. PHP, язык с отсутствующей типизацией параметров возможно обзаведется
уточнениями типов (typehints) для простых типов int, float, bool, string.

Добавлено : Чт Июл 12, 2012 16:13

Автор : surg30n

Просмотров : 15702

Поиск по сайту