Илья Уткин

Илья Уткин

С нами с 15 декабря 2012; Место в рейтинге пользователей: #14
28 мая 2014, 20:38
1
+2
Можно использовать обратимое шифрование.

1. Сниппет getCrypto (фильтр вывода для шифрование адреса сайта):

$key = "qie1GllccDadnmZvhpcM0WK18vfVScxBKeM";
$str = $input;
//открываем модуль шифрования и получаем его дискриптор
$td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_CFB,'');
//  получаем размер вектора шифрования на основе дискриптора.
$iv_size = mcrypt_enc_get_iv_size($td);
// Создание вектора шифрования
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
// открытие буфера обмена обмена для шифровки данных
mcrypt_generic_init($td,$key,$iv);
//  шифруем даные
$crypt_text = mcrypt_generic($td,$str);
//  закрываем буфер обмена и модуль
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return 'goto/?code='.base64_encode($iv.$crypt_text);


2. Создаем страничку site.ru/goto/ и на ней помещяем НЕкешируемый вызов сниппета sendCriptoRedirect:

if (!$_GET['code']) return;
$key = "qie1GllccDadnmZvhpcM0WK18vfVScxBKeM";
$code = base64_decode($_GET['code']);

$td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_CFB,'');
$iv_size = mcrypt_enc_get_iv_size($td);
$iv = substr($code,0,$iv_size);
$crypt_text = substr($code,$iv_size);
mcrypt_generic_init($td,$key,$iv);
$url = mdecrypt_generic($td,$crypt_text);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$modx->sendRedirect($url);

В итоге первый сниппет будет зашифровывать, а второй расшифровывать и редиректить.

Код взят отсюда: webformyself.com/shifrovanie-dannyx-na-php/
28 мая 2014, 19:20
0
Спасибо большое! Так работает) Я пытался получить инпут с помощью getElementByID, поэтому не получалось)
27 мая 2014, 22:26
0
Почему-то если вместо console.log указать return, никакое значение не возвращается.

...
{
     id: 'mod-xsaver-codeeditor'
    ,xtype: 'modx-texteditor'
    ,height: 300
    ,width: '99%'
    ,value: this.getCodeEditorValue()
}
...
getCodeEditorValue:function(){
    MODx.Ajax.request({
        url: '/assets/connector.php'
        ,params: {
            action: 'getcode'
        }
        ,listeners: {
    		success: {fn: function(response) {
                    return response;
    		}, scope: this}
    	}
    });
}
Боюсь, я что-то не так делаю…
20 мая 2014, 16:52
0
Пока нет, и я не думаю, что это есть у разработчиков в планах.
14 мая 2014, 10:44
+1
Посмотрел у себя — такого файла в MODX и не должно быть. Кто-то взломал ваш сайт (или украл пароли для FTP) и залил шелл. Даже если вы удалите вирус, шелл может остаться.

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

Не забудьте проверить, что кроме вас пользователей на сайте нет — вдруг, злоумышленник создал себе учетку на вашем сайте.
13 мая 2014, 20:21
0
Тогда понятно)
13 мая 2014, 20:12
0
if ($modx->resource->isfolder && substr($uri, -1) != '/' && !$_GET['page']) {
Уж это-то элементарно…
08 мая 2014, 18:47
0
Конечно)
08 мая 2014, 18:24
0
Ничего, скоро будет — в 2.3 поиск будет сразу по всему, что есть с фильтрацией во время набора:
07 мая 2014, 16:39
0
Создайте быстренько свой собственный компонент: ilyaut.ru/xpdo/adding-editing-and-deleting-custom-objects/
06 мая 2014, 23:13
+1
Тогда уж 60 — делится на 2, 3, 4, 5, 6, 10, 12, 15, 20, 30)))
05 мая 2014, 17:57
+2
А что на github-то не выложишь? Хочется посмотреть, а скачивать себе не хочется) Да и найти потом проще будет, когда понадобится.
29 апреля 2014, 21:25
0
На самом деле я разницы не увидел. Даже не знаю, как заставить браузер сначала спрашивать If modified since у сервера. Но автоматические системы продвижения в своих рекомендациях указывают пункт, что у страниц сайта отсутствуют заголовки Last-Modified.

У меня не получилось объяснить SEO-шникам, что этот параметр, скорее всего, не влияет на ранжирование сайта в поиске. Проще было сделать, чтобы сайт успешно проходил проверку. Главное, чтобы без вреда.
25 апреля 2014, 12:06
+2
Вообще эта статья для тех, кто никак не может попробовать. По статье можно наконец-то сделать свои первые коммиты и пуши. А дальше уже изучать git можно, например по туториалу с сайта githowto.com/ru
25 апреля 2014, 11:49
0
Это очень удобно. И приятно))

Я сначала пробовал на Windows визуальный клиент для Github'а, но он на самом деле сложнее (по крайней мере, для меня), чем работа через консоль.
23 апреля 2014, 15:24
0
Так Марк Хамстра, как я понял, тоже купил такую лицензию. Плата только за дополнение (он сделал довольно качественную интеграцию в интерфейс админки). Работы там на самом деле не мало и отдать 25 Евро за такое дополнение не жалко (тем более, что это деньги клиента).
08 апреля 2014, 09:27
0
Хотя статичный-то файл работает… Попробуйте убрать все параметры кроме $url у file_get_contents.

Если не поможет, я не знаю что делать… Тогда распишите все что есть — шаблон страницы, все чанки, весь код сниппета, весь код класса — выложите куда-нибудь на pastebin.com
08 апреля 2014, 09:00
0
Что-то непонятное происходит. Попробуйте обратиться к хостеру — такое чувство, что они на своей стороне некоторые операции кешируют. Ну и сниппет ваш должен быть некешируемым (с восклицательным знаком)…