Articles of безопасности

Контрольный список загрузки изображений PHP

Я программирую сценарий для загрузки изображений в мое приложение. Имеются ли следующие меры безопасности, чтобы сделать приложение безопасным со стороны сценария? Отключите PHP от работы в папке загрузки с помощью .httaccess. Не разрешать загрузку, если имя файла содержит строку «php». Разрешить только расширения: jpg, jpeg, gif и png. Разрешить только тип файла изображения. Запретить изображение […]

лучший подход, чем сохранение пароля mysql в текстовом виде в файле конфигурации?

Меня всегда беспокоило то, что многие PHP-программы требуют от пользователя хранить пароль mysql в виде обычного текста (в строке или константе) в файле конфигурации в корне приложения. Есть ли лучший подход к этому после всех этих лет? До сих пор я придумал два минимальных повышения безопасности: сделать файл нечитаемым через Интернет с помощью правил в […]

openssl_digest vs hash vs hash_hmac? Разница между SALT & HMAC?

Я хочу использовать SHA512 для хранения паролей. Для этого, какой из openssl_digest , hash и hash_hmac следует использовать и почему? В чем разница между SALT & HMAC ? Я просто прочитал, что HMAC построен поверх хэш-функции. Итак, SHA512+SALT+HMAC действительно необходим или SHA512+SALT или SHA512+HMAC ?

Пароль не совпадает после шифрования с использованием функций crypt () и password_hash ()

Я изменил свой старый пост. Я попробовал функцию crypt () и теперь пытаюсь работать с password_hash () и password_verify (), чтобы проверить зашифрованный пароль, поступающий из базы данных, но при каждом вызове функция password_hash () перенастраивает другую зашифрованную строку и пароль_verify () не может ее сопоставить. Вот как я это делаю. //please ignore the syntax […]

Каковы наилучшие практики для самообновления приложений PHP + MySQL?

В настоящее время довольно стандартная практика для самообновления настольных приложений. На Mac каждая программа, не использующая Apple, которая использует Sparkle в моей книге, является мгновенной победой. Для разработчиков Windows это уже обсуждалось подробно . Я еще не нашел информацию о самообновляющихся веб-приложениях, и надеюсь, что вы сможете помочь. Я создаю веб-приложение, предназначенное для установки как […]

Предотвращение обхода каталога в PHP, но допускающие пути

У меня есть базовый путь / what / foo / и $_GET['path'] должен относиться к нему. Однако как это сделать (чтение каталога), не разрешая обход каталога? например. /\.\.|\.\./ Не будет правильно фильтроваться.

Sanitize путь к файлу в PHP

Приветствую, я надеюсь сделать свою крошечную программу безопасной, чтобы потенциальные злонамеренные пользователи не могли просматривать конфиденциальные файлы на сервере. $path = "/home/gsmcms/public_html/central/app/webroot/{$_GET['file']}"; if(file_exists($path)) { echo file_get_contents($path); } else { header('HTTP/1.1 404 Not Found'); } С головы до ног я знаю, что ввод, такой как «../../../../../../etc/passwd», будет проблемой, но интересно, какие другие вредоносные входы я должен […]

Хорошая форма безопасности – нет CAPTCHA

Есть ли хороший метод защиты формы, который not связан с CAPTCHA? CAPTCHA так раздражает, но мне нужна безопасность, потому что я получаю спам. Моя форма – PHP.

Безопасно отправить пароль обычного текста?

Я работаю над приложением для iOS, в котором пользователь будет заполнять свой пароль. Затем пароль будет отправлен на страницу PHP на моем сайте, используя POST или GET. (Он должен быть открытым текстом, потому что он используется в скрипте.) Помимо HTTPS, есть ли способ защитить пароль? Зашифровать его в Obj-C, а затем расшифровать его в PHP? […]

Безопасное генерирование случайных чисел в PHP

Случай использования: кнопка «Я забыл пароль». Мы не можем найти исходный пароль пользователя, потому что он хранится в хешированной форме, поэтому единственное, что нужно сделать – это создать новый случайный пароль и отправить ему по электронной почте. Для этого требуются криптографически непредсказуемые случайные числа, для которых mt_rand недостаточно хорош, и в целом мы не можем […]