PHP best practices — хранение паролей
PHP best practices — хранение паролей
Хеширование — стандартная модель хранения паролей. В её основе лежит какой-то алгоритм, который меняет строку вида 1234 на хеш вида ab3278abeh27jan2j37jdbb. Тем самым, пароль в явном виде узнать невозможно.
Зато можно ответить при авторизации на один вопрос: верен ли пароль что вводит пользователь или нет?
Тем самым мы прогоняем пароль 1234 нашей функцией и смотрим, получили ли мы хеш ab3278abeh27jan2j37jdbb или нет. Если получили, значит пароль верен и мы можем авторизовать пользователя.
Данная схема удобна, т.к никто не знает пароль в явном виде кроме пользователя.
Yii2: установка
Yii2: установка
Начинаю цикл short заметок для второй версии фреймворка Yii.
Основные требования к установке
- PHP 5.4 +
- SSH доступ (нужен для быстрой установки Yii при помощи менеджера зависимостей Composer)
- Наличие сервера баз данных (если требуется работа с базой даных)
Быстрая установка
Шаг 1. Установка Composer
# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
Портфолио: обменный сервис 24обмен
Портфолио: обменный сервис 24обмен
Обменный сервис 24обмен проводит обменные операции для Qiwi,Bitcoin,Perfect Money,Яндекс.Деньги,Okpay,BTC-E коды.
Система работает в автоматическом и полуавтоматическом режиме.
- Автообмен
- Ручные обмены в случае ошибок автообмена
- Расчёты резервов, комиссий платёжных систем
- Модули новостей, отзывов клиентов.
- Личный кабинет: система скидок клиентам, партнёрская программа.
- Система администрирования, управление платёжными системами, логирование действий пользователей.
- Гибкая система подключений платёжных систем
JS confirm пример
JS confirm пример
JS confirm всплывающее окно для навешивания на ссылку:
<a onClick="if (!confirm('Вы уверены ?')) return false;" href="link">linkName</a>
Leave a Comment
Полезные команды Ubuntu
Полезные команды Ubuntu
Список полезных команд для Ubuntu, чтобы были всегда под рукой.
- Удаление папки (рекурсивное)
# rm -R folder - Перезагрузка ОС, сервисов
# service apache2 restart
# service nginx restart
# service php5 restart
# reboot - Создание папки
# sudo mkdir folder - Обновление пакетов
# apt-get update
# apt-get upgrade - Просмотр php.ini
# nano /etc/php5/apache2/php.ini - Изменение часового пояса сервера
# dpkg-reconfigure tzdata
Leave a Comment
Скрипт магазина Digiseller
Скрипт магазина Digiseller
Digiseller предоставляет возможность продавать цифровые товары через специальную платформу Oplata.Info по средствам своего сайта и сайтов-партнёров.
Если вы хотите продавать цифровые товары на своем домене, то вам необходимо иметь специальный скрипт магазина в связке с Digiseller API.
Я предоставляю комплексное решение по созданию скрипта магазина на основе Digiseller.
Что входит в продукт?
DNS записи в Digital Ocean
DNS записи в Digital Ocean
Пример DNS записей для настройки панели в системе Digital Ocean:
Основные шаги
- Необходимо прописать NS адреса в той организации, у которой вы делегировали домен. (ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com)
- Далее настраиваем DNS панель:
- Сохраняем, через пару часов DNS записи будут включены.
Leave a Comment
Перевод с экспоненциальной формы в числовую PHP
Перевод с экспоненциальной формы в числовую PHP
Задача: перевести 1e-8 в вид 0.00000001
Делается так:
$amount = number_format($amount,$percision,'.','');
Leave a Comment
$_SERVER ['REMOTE_ADDR'] и связка Nginx+Apache
$_SERVER ['REMOTE_ADDR'] и связка Nginx+Apache
Если вы используете nginx в качестве прокси сервера вместе с апачем, то возможно сталкивались с проблемой записи IP адреса клиента в переменную REMOTE_ADDR.
Он записывает только IP адрес вашего сервера, а IP клиента отдаёт в переменную REAL_IP.
Чтобы исправить это необходимо сделать следующее:
- Удаляем старый неподдерживаемый модуль rpaf.
# apt-get remove libapache2-mod-rpaf - Создаём remoteip.conf:
# nano /etc/apache2/mods-available/remoteip.conf
<IfModule mod_remoteip.c>
RemoteIPHeader X-Real-IP
RemoteIPInternalProxy 127.0.0.1
RemoteIPInternalProxy xxx.xxx.185.66 // server ip ваш
</IfModule> - Включаем данную конфигурацию в Apache
# a2enmod remoteip
# service apache2 restartТеперь REMOTE_ADDR будет отдавать реальный IP клиента.
Форматирование даты в PHP
Форматирование даты в PHP
function parseDate($date){
return date("d.m.Y", strtotime($date));
}
