Шифрующие фильтры в PHP

vovanium

Новичок
Хотел для шифрования в дампере и бэкапере использовать шифрующие фильтры. Вроде так неплохо тестовый скриптик работал на винде, но оказалось что на двух рабочих хостингах шифрующих фильтров нет, при том что сами функции mcrypt на них работают.

Можете глянуть у себя
PHP:
<?php
echo 'PHP ' . PHP_VERSION . ', mcrypt filter - <b>' . (in_array('mcrypt.*', stream_get_filters()) ? 'found': 'not found') . '</b>';
?>
скрипт пишет версию php и найден или нет шифрующий фильтр.

Интересно это мне так повезло, или реально шифрующие фильтры редко стоят на серверах и не стоит их юзать.

UPD. Поправил скрипт, чтобы выводил версию и наличие фильтров.
 

Вурдалак

Продвинутый новичок
Код:
Array
(
    [0] => convert.iconv.*
    [1] => mcrypt.*
    [2] => mdecrypt.*
    [3] => string.rot13
    [4] => string.toupper
    [5] => string.tolower
    [6] => string.strip_tags
    [7] => convert.*
    [8] => consumed
    [9] => dechunk
    [10] => zlib.*
)
 

vovanium

Новичок
Вурдалак
Ого прям реактивный ответ, еще наверное желательно версию PHP указывать, я проверял на 5.2.17 и 5.3.6, на винде 5.3.8 там нормально.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
PHP 5.2.17, mcrypt filter - not found
PHP 5.2.16, mcrypt filter - not found
PHP 5.2.16, mcrypt filter - not found
PHP 5.2.14, mcrypt filter - not found
PHP 5.2.4-2ubuntu5.17, mcrypt filter - not found
 

флоппик

promotor fidei
Команда форума
Партнер клуба
PHP:
)www-user@linuxdev:~$ php -r "echo PHP_VERSION . PHP_EOL .  var_export(stream_get_filters(), true);"
5.3.4
array (
  0 => 'zlib.*',
  1 => 'bzip2.*',
  2 => 'convert.iconv.*',
  3 => 'mcrypt.*',
  4 => 'mdecrypt.*',
  5 => 'string.rot13',
  6 => 'string.toupper',
  7 => 'string.tolower',
  8 => 'string.strip_tags',
  9 => 'convert.*',
  10 => 'consumed',
  11 => 'dechunk',
  12 => 'http.*',
)www-user@linuxdev:~$
PHP:
root@userver:~# php -r "echo PHP_VERSION . PHP_EOL .  var_export(stream_get_filters(), true);"
5.3.2-1ubuntu4.10
array (
  0 => 'zlib.*',
  1 => 'bzip2.*',
  2 => 'convert.iconv.*',
  3 => 'string.rot13',
  4 => 'string.toupper',
  5 => 'string.tolower',
  6 => 'string.strip_tags',
  7 => 'convert.*',
  8 => 'consumed',
  9 => 'dechunk',
  10 => 'http.*',
)root@userver:~#
PHP:
array (
  0 => 'zlib.*',
  1 => 'bzip2.*',
  2 => 'convert.iconv.*',
  3 => 'string.rot13',
  4 => 'string.toupper',
  5 => 'string.tolower',
  6 => 'string.strip_tags',
  7 => 'convert.*',
  8 => 'consumed',
  9 => 'dechunk',
  10 => 'http.*',
)root@userver:~#
 

vovanium

Новичок
Да уж, похоже действительно туговато с этими фильтрами, а так всё хорошо работало, сжималось и шифровалось на лету.
 

vovanium

Новичок
Вурдалак
Можно, конечно, просто встроенные быстрее работают скорее всего. Тут просто если бы эти фильтры работали везде где есть mcrypt, тогда их легко можно заюзать, а так уже придется тестить альтернативные варианты.
Кстати кто-нибудь знает как эти фильтры вообще добавить, если их нет, но при этом mcrypt установлен? Нагуглил только похожий вопрос на стаке, но он остался без ответа. В доках написано, что типа фильтры потоков встроены их настраивать не нужно.
 

vovanium

Новичок
В общем вроде разобрался, на хабре подсказали, что именно шифрующие фильтры только в 5.3.3 добавили, просто в доках об это не упоминается, только в changelog
 
Сверху