Создание ZIP архива с паролем в PHP
Создание ZIP архива с паролем в PHP
Следующая функция может запаковать в ZIP архив файл и установить пароль. Для создания ZIP архива используется встроенный архиватор ZIP Linux системы.
Также у PHP скрипта должно быть разрешение на работу функции shell_exec.
function createZip($fileName,$fileText,$zipFileName,$zipPassword)
{
$file = file_put_contents($fileName,$fileText);
shell_exec('zip -P '.$zipPassword.' '.$zipFileName.'.zip '.$fileName);
unlink(fileName);
return file_exists($zipFileName.'.zip');
}
Пример:
CSRF защита входных данных и ее отключение в Yii2
CSRF защита входных данных и ее отключение в Yii2
По умолчанию в Yii2 используется защита от межсайтовой подделки запроса. То есть вы не сможете отправить POST запрос без согласия самого Yii2 (т.е токена который создается при отправке формы).
Но бывают случаи когда POST запросы необходимо принимать (как пример входящие оповещения от платежных систем) и для таких операций требуется отключать проверку на CSRF.
.htaccess для скрытия web в Yii2
.htaccess для скрытия web в Yii2
Пример .htaccess для скрытия в роуте папки web при работе с Yii2:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule (.*) /web/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
Портфолио. Tm-pay.com
Портфолио. Tm-pay.com
Задача:
Обновить сервис по приему и оплате платежей для пользователей туркменистана.
Сделать более понятный интерфейс оплаты и улучшить бек систему администрирования для владельца сервиса.
Решение:
Было обновлено ядро проекта, переписан внутренний код сервиса и обновлена схема базы данных. Теперь добавлять новые платежные системы стало намного проще. Также в случае любых проблем при проведении платежа от платежной системы имеется наглядный интерфейс вывода ошибок. Администратор сразу видит проблемные платежи и контролирует все операции с панели администратора
.htaccess http->https редирект
.htaccess http->https редирект
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
Работа с ZIP в PHP. Распаковка.
Работа с ZIP в PHP. Распаковка.
Для работы с zip архивом необходимо поставить расширение PHP — ZIP.
Поставить его вы можете через PECL. Проверить что все ок можно посмотрев phpinfo(), около zip должно стоять enabled.
При помощи данного расширения можно как создавать архивы так и распаковывать их.
Для работы с zip создадим экземпляр класса ZipArchive:
Портфолио. Сервис Webtenge.kz
Портфолио. Сервис Webtenge.kz
Задача: обновить проекта обмена электронных валют в казахстане. Построить партнерскую программу, мигрировать все данные пользователей и десятки тысяч обменных операций на новый сервер.
Итог: был разработан проект обменного сервиса на базе системы Sassoft.Exchange, обновлен дизайн проекта. Полностью переделана система администрирования обменного сервиса и добавлена партнерская система для партнеров.

Динамическое изменение классов таблицы CGridView
Динамическое изменение классов таблицы CGridView
Для изменения класса строк таблицы в CGridview yii1 можно воспользоваться следующим шаблоном:
'rowCssClassExpression' => function($row, $data) {
// $row - номер строки
// $data - модель данных
if($data->amount > 0){
return 'success';
}
return 'none';
},
Данный обработчик возвращает название класса для тега < t r > таблицы.
X19 Ошибка 4 — неверная подпись. Возможное решение
X19 Ошибка 4 — неверная подпись. Возможное решение
Внезапно появилась проблема при отправке X19 запросов в Webmoney. Ответ выглядел как-то так:
Error step 4 — проверка подписи не прошла. Ошибка при проверке подписи ClientPlanStr
Далее кусок запроса.
Поискав возможные пути решения в интернете нашел в чем может быть дело — в неверной обработке функции hex2dec специальной математической библиотеки, которая формирует подпись к WMXI Webmoney интерфейсам.
Скрипт автоматизации FaucetBox
Скрипт автоматизации FaucetBox
FaucetBox — система микроплатежей биткойн. Позволяет в автоматическом режиме проводить выплаты биткойн и сатоши при помощи специального API.
Мною был разработан и внедрен специальный скрипт по выдаче сатоши бонусов через равные промежутки времени.
Скрипт позволяет задать таргетинг по странам и IP адресам стран + настроить количество сатоши, которое необходимо выплачивать через какой-то промежуток времени.