Блог пользователя - zman

повышаем безопасность

21 июня 2015 в 0:46

Доброе время суток.

В логах часто начинают сканировать друпаловские админ.пути, поэтому чуток добавил примитивной безопасности.

Добавив в корень друпала файл .htpasswd (внутри прописано имя пользователя и сгенерированный пароль)
а вниз друпаловского .htaccess добавлено несколько строчек

памятка по автоматическому копированию аплоадов юзеров на сторонний unix сервер

11 октября 2011 в 17:55

для исключения частых memory allocation error
гик-памятка по автоматическому копированию файлов (например аплоадов) юзеров на сторонний сервер,
средствами unixlike систем: rsync и ssh авторизацией по паре ключей

проверяем работоспособность rsync или простейший бэкап
rsync -azvv --progress --size-only /temp/source/ /backup/test

первый этап
---------------------------------
первый сервер, откуда происходит копирование linuxexmpl.ru
и второй freebsdexmpl.ru, куда происходит копирование

(решено) почти работает RewriteRule

7 августа 2011 в 15:02

Приветствую друпаллеров.

Удобный модуль node_type_filter добавляет в урл переменную для доп.фильтрации по типу новости
Вопрос: как эту переменную коррэктно прописать в юзерфрэндли урл посредством htaccess и RewriteRule

1 действие (стандартное)
урл для скрипта http://www.ru/?q=geo/rossiya
урл внешний http://www.ru/geo/rossiya
преобразуется стандартным drupal'еровским правилом
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

2 действие
модуль node_type_filter добавляет вторую переменную, например type=news
внешний урл http://www.ru/geo/rossiya/news
урл для скрипта http://www.ru/?q=geo/rossiya&type=news

Вопрос: как эту переменную правильно прописать в clean url посредством RewriteRule

для 2го действия правило сделал
и при наличии двух переменных (?q и &type) в урле правило работает
RewriteRule ^(.*)/(.*)$ index.php?q=$1&type=$2 [L,QSA]
но при наличии только одной переменной (?q) правило не работает

[L] убирал не помогло

С уважением.

(решено) вывод разных типов нод по совпадающему тэгу

26 июля 2011 в 16:02

Добрый день.

Наверное чайниковский вопрос, но пока что-то не могу найти ответа как (без views) сделать.

Есть несколько типов нод, например: новость, блог, юзер(Content Profile). А также один словарь.
У новости и юзера есть совпадающие тэги из словаря.

Как вывести отдельно новости по совпадающему тэгу и отдельно юзеров по совпадающему тэгу?

C уважением.

мини тест pressflow

15 мая 2011 в 12:32

Залил контент, добавил нужных модулей и чуток потестировал pressflow-6.20.97

настройка Performance
Caching mode : Disabled
Page compression : Enabled
Block cache : Disabled
Optimize CSS files : Disabled
Optimize JavaScript files : Disabled

модуль трэйсера - Tracker 2

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

главная страница

529.05 ms. 397 queries 124.87 milliseconds. devel_it()=2.82 MB, devel_shutdown()=29.31 MB.
477.19 ms. 403 queries 79.42 milliseconds. devel_it()=2.81 MB, devel_shutdown()=28.98 MB.
514.61 ms. 392 queries 97.94 milliseconds. Memory usage:Memory used at: devel_it()=2.82 MB, devel_shutdown()=27.79 MB.
409.51 ms. 392 queries 69.31 milliseconds. devel_it()=2.82 MB, devel_shutdown()=27.8 MB.
392.5 ms. 392 queries 69.25 milliseconds. devel_it()=2.82 MB, devel_shutdown()=27.8 MB.
391.05 ms. 392 queries 68.32 milliseconds. devel_it()=2.82 MB, devel_shutdown()=27.8 MB.
---pressflow---
503.62 ms. 396 queries 125.31 milliseconds. devel_it()=2.98 MB, devel_shutdown()=28.97 MB.
398.83 ms. 391 queries 75.63 milliseconds. Memory used at: devel_it()=2.98 MB, devel_shutdown()=27.46 MB.
411.62 ms. 391 queries 71.07 milliseconds.
393.17 ms. 391 queries 70.42 milliseconds.
444.57 ms. 405 queries 81.94 milliseconds.

Небольшой словарь отжирает >256мб памяти

5 мая 2011 в 16:03

Добрый день.

Странный косяк возник при импорте небольшого географического иерархического словаря.

Обычно главная страница сайта выдаёт такую стату:
Page execution time was 451.18 ms. Executed 406 queries in 84.65 milliseconds.
Memory usage: Memory used at: devel_init()=2.8 MB, devel_shutdown()=27.66 MB.

Импортировал (вроде небольшой) иерархический словарь (страны-области-города http://www.drupal.ru/node/23269 )
теперь
term_data 11,997 записей, объём 1.3 мегабайта
term_hierarchy 11,997 записей, объёма 432.5 килобайт

До установки словаря, ограничение в php.ini стояло
memory_limit = 50M и этого вполне хватало

Теперь, при редактировании географического иерархического словаря пришлось ставить лимит
memory_limit = 300M (при установке 256mb ругается, говорит маловато)

Page execution time was 34923.13 ms. Executed 8108 queries in 906.32 milliseconds.
Memory usage: Memory used at: devel_init()=2.8 MB, devel_shutdown()=103.86 MB

Performance Logs: Summary
-----------------------------------------
Average memory per page: 48.7 MB
Average ms per page: 2,832.56

Path: admin/content/taxonomy/4
Max Memory (MB) 284mb
Avg Memory (MB) 179mb
ms (Max) 34,870.0
ms (Avg)19,427.0
Query ms (Max) 5,694.0
Query ms (Avg) 580.0
Query Count (Max) 8105
Query Count (Avg) 4407

Performance Logs: Details
------------------------------------
path:admin/content/taxonomy/4
Memory (MB) 284.25
ms (Total) 34870
# Queries 8105
Query ms 905

модулей стоит вроде не много

Неопубликованные материалы

16 января 2011 в 14:04

Нужно для определённых ролей (например роль постящего) видеть любые ещё не опубликованные ноды, вроде идеально подходит модуль view_unpublished. Поставил модуль view_unpublished, настроил, уныло не работает.

Как вытащить текстовое описание из словаря при заполнения формы ноды?

16 февраля 2010 в 17:58

Приветствую Drupaller'ов.
Помогите чайнику (по идее всё должно быть просто):

есть заполняемый пользователем материал (node)
есть используемый модуль Automatic title generation
есть словарь(vocabluary) с двумя вложенностями уже заполненных терминов

пользователь заполняет материал, и я использую Automatic title generation для заполнения title материала(node)
также при заполнении формы материала пользователь выбирает галочками несколько словарей(vocab) и терминов из заполненные полей
и вот текстовые описания этих галочек я что-то и не могу вытащить из массива который доступен модулю Automatic title generation (см. ниже <?php return print_r ($node); ?>)

пример:
уже есть заполненными словари (vocabulary) с древовидные терминами (terms)
нужно вытащить название словаря, термина 1го уровня и термина 2го уровня

----------------------
например:

словарь (vocabulary) книга

термины 1го уровня
английская
немецкая
французская

термс 2го уровня (например: книга английская)
детектив
фантастика
поэзия
-------------------------

т.е. в финале нужно вытащить из заранее занесённых словарей-терминов
и получается, текст
книга > английская > детектив

вот например массив данных из формы который выводится посредством Automatic title generation
там я болдом выделил искомые значения галочек передаваемые из формы материала (текстовые описания которых и нужны)

<?php return print_r ($node); ?>

проверка переменной

19 января 2010 в 20:58

Добрый вечер.

Беру переменную из $_POST ... как корректно и безопасно проверить её перед записыванием в базу?

Если средствами php то хватит ли

1. перевода в стринг
$name1=$_POST['taxonomy']['tags']['1'];
$name=(string)$name;

2. плюс потом
strip_tags
htmlspecialchars

TinyMCE как задать значения некторых полей

21 декабря 2009 в 10:39

Приветствую.

Полазил пару дней, поискал, так и не понял ...

Может кто сталкивался, как сделать значения некоторых полей по умолчанию.
Например при чтобы вставки картинки в TinyMCE было Alignment=left, Border=2, Vertical space = 2

С уважением.

производительность vps хостера, у кого какая?

27 ноября 2009 в 12:49

Добрый день, уважемые друпаллеры!

Ищу хороший российский впс хостинг.
Хороший, это не особо дорогой(15-20$) и не особо медленный, пока найти не могу.

Предлагаю сделать аналог http://www.webhostingtalk.com/showthread.php?t=308055&page=128
Т.е. качаем unixbench

http://members.dslextreme.com/users/andylee/unixbench-4.1.0-wht.tar.gz
# gunzip -dvc unixbench-4.1.0-wht.tar.gz | tar xvf -
# cd unixbench-4.1.0-wht
# make
# ./Run

Давайте посмотрим у кого какая производительность, итак:

truevds.ru
True11
mem 96, cpu 240, hdd 3gb

unix bench
Based on the Byte Magazine Unix Benchmark
v4.1 revisions mostly by David C. Niemi,
4.1 WHT.2 Reston, VA, USA

WHT Variant by Andy A. Lee
See: http://www.webhostingtalk.com/showthread.php?s=&threadid=308055
Dhrystone 2 using register variables 1 2
Double-Precision Whetstone 1 2
Execl Throughput 1
Filesystem Throughput 1024 bufsize 2000 maxblocks 1
Filesystem Throughput 256 bufsize 500 maxblocks 1
Filesystem Throughput 4096 bufsize 8000 maxblocks 1
Pipe Throughput 1 2
Pipe-based Context Switching 1 2
Process Creation 1
System Call Overhead 1 2
Shell Scripts (8 concurrent) 1
==============================================================
BYTE UNIX Benchmarks (Version 4.1-wht.2)
System -- FreeBSD localhost 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Fri May 1 08:49:13 UTC 2009 root@walker.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
/dev/ad0s1a 2913630 725572 1954968 27% /

Start Benchmark Run: Fri Nov 20 20:21:50 UTC 2009

как создать материал из установленных "блоков"

26 ноября 2009 в 12:43

Добрый день, уважаемые.

Перелопатил массу модулей, неужели только CCK подходит? а поменьше ничего нет?
как ограничить ввод и сделать подобие формы - несколько полей, которые автоматом и создают материал

например форма:

писатель ввести фамилия
писатель ввести имя
название произведения
короткое описание
сам текст
здесь вставить фотографию писателя
здесь вставить урл на другую библиотеку

Большая вложеннось не всегда показывается.

22 ноября 2009 в 15:13

Добрый день.

Нужен (вроде простой) совет по настройке или по дополнительному модулю.

Есть например такая упрощённая структура:

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

словарь с терминами
------------------------------------------------
жанр (романы, повести, маленькие произведения)
под жанр (родитель маленькие произведения, список терминов принадлежаших м. произведениям: рассказы, очерки, прочее)
под под жанр (родитель прочее: эссе, эпитафии)

Соответственно при выводе жанров не всегда выводятся сразу все жанры с поджанрами, а только первая вложенность.
drupal 6.14

Наверное есть какие-то маленькие модули делающие вывод сильно вложенных подкатегорий более корректно?
Не хочется городить модулей-монстров типа views и cck, может есть какие-нить мелкие модули?
Может кто сталкивался и подскажет.

С уважением.