• Можно ли в Phalcon ORM использовать запросы как в Eloquent?

    Можно ли в Phalcon ORM использовать запросы как в Eloquent?

    https://github.com/josuegrullon/phalcon-eloquent
    Ответ написан
    Комментировать
  • Какие есть годные open-source проекты на Laravel?

    Как-то для себя собирал Gist в котором пытался отсортировать репозитории связанные с Laravel. Посмотри. Может что и приглянется.
    Ответ написан
    1 комментарий
  • TV список со множественным выбором — как фильтровать?

    Для MODX Evolution есть плагин TagSaver. На его основе была начата разработка компонента TagFaster. Документации и готового транспортного пакета нет, хотя билдер я писал. Вот пример системных настроек для компонента. А вот пример фильтрации по ворнику для вас:
    [[!getResourcesTagFast?
      &element=`getResources`
      &grSnippet=`getPageExt`
      &elementClass=`modSnippet`
      &tpl=`blog.ListArticles`
      &staticKey=`2` &pageVarKey=`page`
     &tvID=`Category`
    ]]

    Если предположить, что TV параметр называется Category.
    Ответ написан
  • Автоматическая синхронизация FTP на манер DropBox

    Посмотрите в сторону cyberduck.ch там есть опция синхронизации папок. Помимо этого как раз есть версии под MAC и WIN
    Ответ написан
    Комментировать
  • Есть ли утилита для удаления неиспользуемого css?

    В автоматическом режиме не подскажу, но как выявить неиспользуемые консрукции — дам рекомендации.

    Запускаем Audits в Google Chrome Developer Tools и смотрим секцию "Remove unused CSS rules". Там перечислены все заголовки неиспользуемых инструкций.

    Дальше удалять можно либо руками. Либо автоматом со 100% уверенностью, что не будут потерты из CSS файла лишние инстуркции.
    Ответ написан
    Комментировать
  • Обновление сайта как влияет на рейтинг в поисковых системах?

    Как правило после редизайна наблюдается временное проседание позиций. Если структура самого сайта не нарушена, а тексты остались старыми, то спустя время (обычно это 1-2 апдейта) все возвращается на круги своя. Если редизайн сделан грамотно, то позиции останутся на месте, либо немного сдвинутся вверх. В качестве рекомендации могу сказать следующее: В верстке постарайтесь избежать использование тегов h1-h6 для заголовков блоков (не в контенте, а в сайтбаре, например). Если уж так хочется, то в файле стилей для заголовки h1-h6 определяйте синонимы с классами, например, .h1-.h6, а в верстке замените <h1> на <div class="h1">
    Вроде бы очевидные вещи, но странно, что люди этим принебрегают.

    Еще одна рекомендация после редизайна: увеличте временно ссылочный бюджет по ключевым запросам на 10-20%
    Ответ написан
    Комментировать
  • Как защитить пользователей мобильной версии сайта/форума от вредоносных банеров/скриптов?

    А вы уверены что все?
    Проверяйте .htaccess наличие подобных инструкций
    RewriteCond %{HTTP_USER_AGENT} (android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC] RewriteCond %{HTTP_USER_AGENT} !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot|eltaindexer|feedfetcher|gamespy|gigabot|googlebot|gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer|ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker|yahoo!\ slurp|mmcrawler|yandexbot|yandeximages|yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons|yandexdirect|yandexmetrika|yandexcatalog|yandexnews|yandeximageresizer) [NC]

    Проверяйте все javascript которые подгружаются вашим сайтом. Возможна установка вирусятины была произведена через внедрение кода в JS файлы или банально в html коде страницы дописали <script type="text/javascript" src="http://example.com/xxxx.js"></script>

    Возможна еще установка кода в php файлы, но тут уже исходники анализировать нужно.

    В общем алгоритм проверки заражен ли ваш сайт такой:
    — смотрим .htaccess
    — смотрим какие файлы выкачиваются из сети при обращении к сайту
    Если все чисто, то с вероятностью 90% ваш сайт чист. Остальные 10% приходятся на тех, у кого подгрузка вируса прописана в php файлах.
    Ответ написан
    4 комментария
  • Сортировка вложенных массивов

    Стандартные функции говорите не подходят? multisort не может? А может я задачу не правильно понял, но результат получился тот же самый: pastebin.com/L03vF8SX
    Ответ написан
  • [MODx]. Evo или Revo?

    Ветка Evo только для тех, кто любит велосипеды и до сих пор мечтает написать свою идеальную CMS. Для разработки новых проектов лучше использовать Revo и точка. Revolution версия в 100 раз лучше и функциональнее Evolution.
    Ответ написан
    1 комментарий
  • [MODx Evo]. Загрузка страниц в фоновом режиме через AJAX. Возможно?

    Делал когда-то подобное. На помощь пришел скрипт pirobox (аля lightbox). Уже не помню как, но все заработало само. Вот тут пример можно посмотреть www.ural-master.com/
    Ответ написан
    Комментировать
  • Как вы делаете security аудит сайтов?

    Ваш алгоритм в большей степени относится к аудиту веб-сервера, а не сайта.

    Если же брать конкретный сайт и есть доступ к исходникам, то алгоритм следующий (для PHP)
    1) Открываем исходники в IDE
    2) Делаем поиск вызова функций типа eval и проверяем какие данные передаются в эти функции
    3) Делаем поиск обращения к переменным из массивов POST, GET, REQUEST и проверяем как данные фильтруются и используются
    4) Делаем поиск move_uploaded_file, file_get_contents и проверяем как фильтруются данные передаваемые в функцию

    Если же доступа к исходникам нет, то алгоритм следующий
    1) Пытаемся определить движок, например, тут 2ip.ru/cms/
    1.1) Пытаемся Определяем версию движка
    1.2) Чекаем наличие багов в данном движке
    2) Пытаемся найти админку (Admin Finder)
    2.1) Чекаем стандартные пары логин-пароль
    3) Чекаем наличие папки svn
    3.1) Делаем анализ исходников
    4) Проверяем наличие дампов (папка dump, файлы dump.sql, dump.zip и т.п.)
    4.1) Проверяем наличие паролей в архиве
    4.2) Делаем анализ исходников
    5) Составляем список уникальных URL (http://example.com/q/1 и example/q/2 — не уникальные, но example/q/1 и example.com/p/2 — уникальные).
    5.1) Если включено ЧПУ пытаемся подобрать имя GET переменной
    6) В адресную строку летят кавычки, преобразование переменных в массив (если удалось обнаружить имя GET переменной), HTML теги
    7) Проверяются cookie сайта. При наличии кукисов установленных самим сайтом меняем значения на свои (опять кавычки, html теги
    8) При наличии на сайе форм (комментарии, публикация статей, заметок, строк поиска и т.п.) с последующим выводом введенных данных на странице производится проверка на наличие XSS
    9) Тестируется работа сайта с кривым именем браузера
    Ответ написан
    Комментировать