Articles of security

Почему файлы приложения CodeIgniter в папке public_html?

Не все ли файлы в общественном мнении плохо? Несомненно, такие вещи, как /system/application/config/database.php, не должны быть общедоступными!

Как загружается mt_rand PHP?

Я знаю, что mt_rand() PHP не должен использоваться для целей безопасности, поскольку его результаты не являются криптографически сильными. Тем не менее, много PHP-кода делает это или использует его как резерв, если лучшие источники случайности недоступны. Так насколько это плохо? Какие источники случайности используют mt_rand для посева? Существуют ли другие проблемы безопасности с mt_rand для криптографических […]

Компонент безопасности от Symfony 2.0 как автономный

Я пытаюсь добавить ACL Symfony 2.0 в мое безплатное приложение PHP. Из-за отсутствия документации о том, как использовать компонент безопасности как автономный, я полностью запутался, и я застрял в вопросах: какой класс включить первым? Какой объект к примеру? Можно ли использовать без моделей и контроллеров? Любое предложение о том, как начать или какую-либо хорошую ссылку? […]

Как безопасно записывать данные JSON в файл с помощью PHP

У меня есть HTML-форма для редактирования изображений. Все данные хранятся в JSON. Когда я меняю текущее изображение, я хочу сохранить изменения с помощью PHP-скрипта в текстовый файл. Если я вернусь к предыдущему изображению, эта конфигурация будет снова отправлена ​​из этого файла в форму. Мой вопрос: Как безопасно писать и читать данные. Где и как эффективно […]

Безопасная функция сравнения строк

Я просто встретил этот код в библиотеке HTTP Auth Zend Framework. Кажется, что используется специальная функция сравнения строк, чтобы сделать ее более безопасной. Однако я не совсем понимаю комментарии. Может ли кто-нибудь объяснить, почему эта функция более безопасна, чем делать $a == $b ? /** * Securely compare two strings for equality while avoided C […]

Аутентификация системы без сеансов – Только куки – Является ли это достаточно безопасным?

Меня интересуют ваши советы и мнения по этой проблеме безопасности. Я думал о том, чтобы сделать что-то вроде этого: Получите hash MAC (sha256) из строки, построенной из userId + expirationTime, и в качестве секретной ключевой строки, построенной из некоторой секретной строки и $ _SERVER ['HTTP_USER_AGENT']. Получите hash MAC (sha256) от userId + expirationTime и как […]

Предупреждение грубой силы / DoS в PHP

Я пытаюсь написать сценарий, чтобы предотвратить попытки входа в грубую силу на веб-сайте, который я создаю. Логика выглядит примерно так: Пользователь отправляет регистрационную информацию. Проверьте правильность имени пользователя и пароля Если да, включите их. Если «Нет», запишите неудачную попытку в базе данных. Проверьте, нет ли слишком много сбоев в течение заданного периода времени (например: 5 […]

Способы остановить людей от загрузки GIF с инъекциями в них?

У меня есть сайт PHP, где люди могут заполнять справочные билеты. Это позволяет им загружать скриншоты для своего билета. Я разрешаю загружать gif, psd, bmp, jpg, png, tif. После получения загрузки скрипт PHP игнорирует расширение файла. Он идентифицирует тип файла, используя только информацию MIME, которая для этих типов файлов всегда хранится в первых 12 байтах […]

Тестирование уязвимостей безопасности в веб-приложениях: лучшие практики?

Я разрабатываю веб-приложение. Например, я использовал такие вещи, как Joomla в прошлом, чтобы сделать потрясающие вещи, но теперь, наконец, мои руки грязные с PHP, MySQL и CodeIgniter. Когда вы создаете серьезные веб-приложения, которые будут обрабатывать большие объемы данных, какие меры предосторожности следует принимать против моих данных, чтобы полностью их дезинфицировать? Я знаю, что есть очевидная […]

Безопасная функция очистки XSS (регулярно обновляется)

Я уже несколько дней охочусь за сетью, пытаясь понять это, но получаю противоречивые ответы. Есть ли библиотека, класс или функция для PHP, которая надежно защищает / кодирует строку против XSS? Он должен регулярно обновляться, чтобы противостоять новым атакам. У меня есть несколько вариантов использования: Случай использования 1) У меня есть текстовое поле, например, для имени […]