Андрей Коробков

Андрей Коробков

С нами с 10 января 2017; Место в рейтинге пользователей: #281
Андрей Коробков
18 марта 2017, 00:56
0
пользуюсь vps на xen от reg.ru
Андрей Коробков
13 марта 2017, 14:04
0
Не обязательно — пробовал не везде, но на таймвебе сработало следующее — загрузил бинарник в папку, права на него 744 — вполне себе работает.
Андрей Коробков
16 февраля 2017, 20:17
3
+3
Права пользователя кешируются в сессию, лечу плагином на OnWebPageInit — форсирую получение прав:
<?php
switch ($modx->event->name) {
    case 'OnWebPageInit':
        if($modx->user->isAuthenticated()){
            $modx->getUser('', true);
        }
        break;
}
Андрей Коробков
16 февраля 2017, 20:13
0
Большое спасибо за наводки, завтра буду пробовать
Андрей Коробков
16 февраля 2017, 01:10
0
Файлы на процессоры обычно отдаю через посредника типа:
<?php
return trim("/", trim($input, "."));
можно добавить свое.
Андрей Коробков
16 февраля 2017, 01:00
1
0
Сделайте плагин на событие msOnChangeOrderStatus — в него параметр передается — order — анализируете его, а дальше ставите:
$modx->setOption('ms2_email_manager', $emails_string);

думаю должно сработать.
Андрей Коробков
16 февраля 2017, 00:36
0
Попробуйте включить отображение ошибок, скорее всего ошибка в синтаксисе, то, что вы написали должно работать.
Андрей Коробков
16 февраля 2017, 00:28
0
Посмотрите error.log — обычно лежит от корня log/sitename.ru.error.log — если там частенько появляется — обратитесь к хостеру — начнут отмазываться — меняйте хостера.
Но сначала удостоверьтесь — стабильный ли у вас интернет. У меня было подобное (правда не помню статусы ошибок, вряд ли 502 — ее так то сервер только возвращает) — проблема была в очень нестабильном 3g — главная страница загружалась, а ajax запросы не все проходили.
Андрей Коробков
13 февраля 2017, 04:26
0
Вы вопрос читали? Индекс поисковиков там вроде не особо интересует… Кстати, такой момент — у яндекса в панели вебмастера давно уже можно просто добавить уникальный текст (насчет гугла — не знаю). Вы эту ссылку к чему приложили?
html2line — вроде как есть (могу свою версию дать — трет лишние пробелы между блоками, и в xml)
css и js — на выбор — MinifyX, grunt, gulp и т.д

И еще момент — гугл (насчет яндекса не могу сказать) индексирует закрытое содержимое — например у вас сайт запаролен — сообщаете в вебмастере пароль и индексирует содержимое.
Андрей Коробков
13 февраля 2017, 01:29
0
Мне очень часто требуются различные модификаторы — писал все в сниппеты, в основном одна строка — return блабла, и складываю в одну категорию. Это несомненно поможет, спасибо
Андрей Коробков
13 февраля 2017, 01:21
0
Полностью защитить в принципе не возможно, но от автоботов защититься вполне реально:
— проверка заголовков, реферрера
— бан ботов по ip — {irony}яндекс, гугл и т.п. несложно найти в паблике{/irony}
— проверка ip по спамбазам (но учитывайте, что отсеете приличную часть мобильного траффика — я сам сижу на свистках билайн/теле2 — очень часто гугл капчу выдает, а бывает вообще не пускает — а ip/подсети в спамбазах типа спамхаус)
— частота просмотра страниц — если чаще, скажем секунды или пары — ip в бан на часок, пяток банов — перманент

Разумеется использовать все возможные защиты «от дурака» — типа запрета выделения/копирования (все предыдущее в принципе тоже своего рода защита от дурака). Далее:

Чтобы сложнее было анализировать скаченный фронтенд — минимизация и обфускация кода — html вытягиваем в одну строку, css собираем в один файл и тоже в одну строку, js — аналогично + делаем обфускацию. Можно еще глубже — сделать обфускацию css — я такого правда еще ни разу не видел примерно с 2003-5 — в те года я писал уже сразу с обфускацией (кстати, в поддержку бывает попадается подобное:)
.h{font-size:12px;color:#777}
.i{position:absolute;top:150px;left:20px;font-size:14px;color:#333;background:#fff}
Ребята, попадалось кому подобное, или может сами грешили?
Андрей Коробков
13 февраля 2017, 00:35
+1
// получаем текущее значение системной настройка
$path = $modx->getOption('pdotools_elements_path');
это точно работает? Если в сис.настройке pdotools_elements_path используются плейсхолдеры (например {core_path} ), то, судя по коду pdoTools — не должно, хотя всякое бывает:)
Думаю правильней получать так:
$path = $modx->parser->pdoTools->config['elementsPath'];
Андрей Коробков
11 февраля 2017, 01:21
+1
Плагин pdoTools тут ни при чем, он даже не запускает сервис и феном ни при чем. Все дело в парсере — получение парсера происходит раньше, чем OnMODXInit, вернее во время запуска самого события, но до выполнения кода.
Попробуйте вместо/вместе с setOption:
$modx->parser->pdoTools->config['elementsPath'] = $path.'mobile/';
Только вот это $path = $modx->getOption('pdotools_elements_path'); не пойдет — там плейсхолдер используется (по умолчанию) — {core_path}, а парсится он раньше.

Чуть радикальнее — внесите правки в core/components/pdotools/model/pdotools/pdoparser.class.php (только не наследуйте, а именно сюда вносите — pdoTools проверяет инстанс pdoParser). В конструктор:
$this->pdoTools = new $pdoClass($modx, [
    'elementsPath' => $path
]);
вот тут можете $path = $modx->getOption('pdotools_elements_path');
Андрей Коробков
09 февраля 2017, 00:08
+1
нет, вместе:
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm.example`
&hooks=`email`
&emailSubject=`Тестовое сообщение`
&emailTo=`info@domain.com`
&successMessage=`Сообщение успешно отправлено`
&emailTpl=`report_tpl`
]]
пример чанка report_tpl — выше привел (это то, что будет вам на емайл приходить)
Андрей Коробков
08 февраля 2017, 23:39
+1
укажите &emailTpl — без него обычно не отправляет. Я обычно использую такой чанк:
<p><b>Данные отправителя:</b></p>
<table cellpadding="5">
[[+name:notempty=`<tr valign="top"><td>Имя:</td><td> [[+name]]</td></tr>`]]
[[+phone:notempty=`<tr valign="top"><td>Телефон:</td><td> [[+phone]]</td></tr>`]]
[[+email:notempty=`<tr valign="top"><td>Email:</td><td> [[+email]]</td></tr>`]]
[[+message:notempty=`<tr valign="top"><td>Сообщение:</td><td> [[+message]]</td></tr>`]]
<tr valign="top" colspan="2"><td> </td></tr>
[[*id:notempty=`<tr valign="top"><td>Страница:</td><td><a href="[[~[[*id]]?scheme=`full`]]">[[#[[*id]].pagetitle]]</a></td></tr>`]]
<tr valign="top"><td>Дата отправки:</td><td> [[!getDate:date=`%Y-%m-%d %H:%M`]]</td></tr>
</table>
Андрей Коробков
08 февраля 2017, 23:30
0
site.ru/contacts — не робит
а site.ru/contacts.html робит?
Андрей Коробков
08 февраля 2017, 20:37
+2
{if $_modx->resource.parent in [9,10,11,12]}
Андрей Коробков
06 февраля 2017, 21:18
0
Вы им вообще занимаетесь? Писал о косяках почти месяц назад, до сих пор ничего не исправлено. Очень жаль, что политика modstore
Функциональные возможности присланного дополнения не должны повторять функциональные возможности дополнений, размещенных в Магазине
хотел написать свою версию, вовремя наткнулся на этот пункт… Застолбили — так сделайте конфетку