Алексей Карташов

Алексей Карташов

С нами с 04 февраля 2013; Место в рейтинге пользователей: #49
19 июля 2014, 19:21
0
Просто вот только сейчас до меня дошло, почему ни одно письмо со всех остальных доменов не подписывались. Ибо в dns каждого домена я, как и ты, тупо пихал один и тот же открытый ключ xD
Счас поэкспериментирую.

p.s. rm -r /* в руках дилента — ссущее зло. поэтому заново всё настраиваю)
19 июля 2014, 19:11
0
И вообще, как я понял, чтобы добавить несколько доменов для подписей dkim, надо делать по-другому.
Вот что удалось нагуглить: edoceo.com/howto/opendkim

Т.е. на моей vps-ке лежит много сайтов. Я хочу, чтобы каждый домен подписывался dkim'ом.
Тогда в директиве KeyFile вместо файла ключа для одного домена надо указать путь к txt, в котором будет примерно следующее:
# $sender-pattern:$signing-domain:$keypath
*@domainA.com:domainA.com:/etc/opendkim/domainA.com.key
*@domainB.com:domainB.com:/etc/opendkim/domainB.com.key
*@domainC.com:domainC.com:/etc/opendkim/domainC.com.key
Т.е. каждый необходимый для подписи домен нужно заносить сюда ручками и для каждого такого домена генерировать свой ключ (и в dns записях, соответственно, для каждого домена будет своя уникальная запись с открытым ключом). И тогда директива Domain уже не нужна (ибо список доменов лежит в отдельном файле).
Я правильно понял данную магию?)

Но непонятна цель файла с Trusted Hosts из статьи по ссылке выше.

Вась, развей мои сомнения!
19 июля 2014, 18:44
0
Вась, немного не понятно…
Например
Domain		bezumkin.ru.modx-test.com
подпишет все письма от modx23.modx-test.com, от bezumkin.ru, от tefile.modx.pro и т.д.
Прям так и писать без пробелов?
И по какому принципу определяются поддомены, которые будут подписаны? Смутило то, что под вышеописанную строку подпадает домен tefile.modx.pro — ведь в этой инструкции нет ни поддомена tefile, ни modx, ни pro.
07 июля 2014, 22:43
0
Прощу прощения, в первом примере вместо «server» следует читать «http», т.е.:
http {
    # здесь что-то уже понаписано, оставляем как есть.
    
    # и в конец добавляем вот эту строку:
    merge_slashes off;
}
А то путаница будет и ничего не заработает)
07 июля 2014, 15:37
0
Если они лезут в вебмастере, то посмотрите там же внешние ссылки. Поисковики такие ссылки индексируют, переходят на ваш сайт и видят там контент, который уже был проиндексирован, т.е. дубли. Скорее всего, кто-то из конкурентов закупает на ваш сайт дешевые говноссылки и таким образом топит вас в выдаче. Не факт, что это так, но не исключено.

Чтобы исключить такое поведение, нужно в файле конфигурации nginx'а nginx.conf в секции http (именно в ней!) добавить такую строку:
merge_slashes off;
Т.е. должно быть вот так:
server {
    # здесь что-то уже понаписано, оставляем как есть.
    
    # и в конец добавляем вот эту строку:
    merge_slashes off;
}
Теперь nginx на урлы вида www.domain.com/// и www.domain.com// будет отдавать 404.

Чтобы nginx исправлял такие урлы на нормальные (с одним слэшем) с 301м редиректом, то в секцию server для нужного сайта нужно добавить вот это:
location ~* .*//+.* {
    rewrite (.*)//+(.*) $1/$2 permanent;
}
04 июля 2014, 13:22
0
Снимает надо вызывать некешированным. Вот так:
[[!snippetGEO]]
(с восклицательным знаком)
03 июля 2014, 13:47
0
Промахнулся, ответил ниже
03 июля 2014, 13:12
0
Если такие дубликаты появились в Яндекс/Гугл.вебмастере, то делать обязательно. Если пользуете nginx, то, как до работы доберусь, скину правило этой обработки
02 июля 2014, 22:06
0
Ну или так))
02 июля 2014, 22:06
+1
$resource = $modx->getObject('modResource', array('pagetitle' => $pagetitle, 'context_key' => $ctx));
if ($resource instanceof modDocument) {
  $id = $resource->id;

  // или
  // $resourceArray = $resource->toArray();
  // $id = $resourceArray['id'];
}
Писал с телефона, возможны опечатки
27 июня 2014, 02:22
+1
В общем,
на строке "skip-innodb" мускул падает и не хочет запускаться.
Добавил в конфиг такие строки:
query-cache-type = 1
default-storage-engine = MyISAM
innodb = off
skip-networking
skip-name-resolve
skip-federated
и о чудо! Отжираемая память _всех_ процессов (в т.ч. системных) упала до 90-100 МБ, т.е. примерно на 150-160 МБ. Чудеса)
Благодаря вашему конфигу php-процессы тоже отрубаются, но чего-т их слишком много лишних, потом отключу. Результат и без того впечатляет!

Спасибо большое!
26 июня 2014, 21:04
0
Спасибо за комментарий, сейчас буду пробовать. Только вот ненужные php-fpm процессы все вместе всё-равно кушают меньше, чем 10 mysql процессов.
Т.е. пхп у ненужный сайтов я поотрубаю, но это лишь небольшой выигрышь. Основная проблема не решится(

А не знаете как можно отрубить mysql для не нужный сайтов?
23 июня 2014, 21:05
0
Да ладно, нафиг извиняться-то?)

Зато теперь до меня дошло))

О как сложилось! Заторможенный мозг + неяносность мысли = абсолютно бесполезный тред xD

Не за что =)
23 июня 2014, 20:56
+1
Блин, чет я вообще запутался. Хрен с ним, может это и я туплю)

p.s. я просто не понял, зачем ты отвечал на мой коммент, написав тоже самое, по сути. А теперь ещё и выясняется, что
я делаю так как ты пишешь еще до того как читаю твое сообщение
при этом отвечая на мой коммент.
Мой мозг лопнул) Бдышь! xD Либо я дурак, либо реально пора спать — 40 часов уже без сна xDD
23 июня 2014, 20:36
0
Странный ты какой-то. Уж извини, не в обиду
23 июня 2014, 20:20
0
Ты либо невнимательно читал, либо невнимательно читал:
Но с «hidden» видят и не заполняют, и спам продолжает сыпаться. Скрою CSS-кой
Именно это я и написал.
23 июня 2014, 20:15
1
+1
Так вот жеж:
rtfm.modx.com/extras/revo/formit/formit.tutorials-and-examples/formit.using-a-blank-nospam-field
У меня аяксовую форму спамеры пробивали на ура — отбоя не было.
Настроил невидимое поле (скрывать надо через css, а атрибут "type" у инпута не должно быть "hidden", можно просто "text"), и, если оно не пустое, значит это спамерский бот его заполнил и formit такое не пропускает (&validate=`work-email:blank`). Главное имя этому инпуту дать осмысленное, типа как в примере — "work-email", чтобы спамерский робот захотел его заполнить.
Реально, после этого — ни одного спамного письма.
20 июня 2014, 09:40
1
+2
Мужик, об этом весь топик и написан. Даже с кодом, который тебе нужен:

$(document).on('af_complete', function(res) {
	if (res.success) {
             // показываем сообщение об успехе, по таймауту закрываем модалку
        } else {
             // закрывать ничего не надо, ибо ошибка и юзер должен её исправлять
        }
});

А по теме — Вась, спасибо! Как всегда всё годно и в лучшем виде)
Отпуска тебе охрененного!
01 июня 2014, 04:08
+1
Только не CEO, а SEO