Articles of security

PHP Digest auth, выход из системы

Есть ли способ выйти из аутентификации дайджеста, выполненной в php. Я попробовал unset ($ _ SERVER ["PHP_AUTH_DIGEST"]); Но он не попросит переделать. Я знаю, если я закрою браузер, тогда он будет работать, и вот мои функции. function login(){ $realm = "Restricted area"; $users = array("jamesm"=>""); if (empty($_SERVER["PHP_AUTH_DIGEST"])) { header("HTTP/1.1 401 Unauthorized"); header("WWW-Authenticate: Digest realm=\"{$realm}\",qop=\"auth\",nonce=\"".uniqid()."\",opaque=\"".md5($realm)."\""); return […]

PHP самый точный / безопасный способ получить реальный IP-адрес пользователя в 2017 году

Каков самый точный способ получить IP-адрес пользователя в 2017 году через PHP? Я прочитал много SO вопросов и ответов об этом, но большинство ответов устарело и прокомментировано пользователями, что эти способы небезопасны. Например, взгляните на этот вопрос (2011): Как получить IP-адрес клиента в PHP? Ответ Тима Кеннеди содержит рекомендацию использовать что-то вроде: if (!empty($_SERVER['HTTP_CLIENT_IP'])) { […]

Выход из http_basic auth в Symfony2

Всякий раз, когда я иду в /admin/logout , я правильно перенаправляюсь в корень моего проекта, но все же регистрируется, когда я посещаю /admin/ поскольку мне не запрашивают учетные данные. Вот моя конфигурация: security.yml security: firewalls: admin_area: pattern: ^/admin http_basic: ~ stateless: true switch_user: { role: ROLE_SUPER_ADMIN, parameter: _want_to_be_this_user } logout: { path: /admin/logout, target: / […]

Как использовать / dev / urandom с PHP для получения случайных чисел CS

Мне нужно создать случайные целые числа между значениями 0 и 10 000 000, и мне понадобится несколько миллионов таких чисел. Цифры должны быть как можно ближе к CSPRNG, так как, например, кто-то должен читать, поэтому 1 миллион из 2 миллионов таких чисел, которые они считают неосуществимыми, выработать оставшиеся 1 миллион номеров. После некоторых исследований я […]

Поставщик безопасности Silex

У меня есть класс UserMapper <?php namespace Models; use Symfony\Component\Security\Core\User\UserProviderInterface; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Core\Exception\UnsupportedUserException; use Symfony\Component\Security\Core\Exception\UsernameNotFoundException; use \PDO; class UserMapper implements UserProviderInterface { /** * Database connection. */ var $db = NULL; /** * Constructor function. Loads model from database if the id is known. * * @param $db * Database connection */ function __construct() […]

Как вызвать файл php, расположенный за пределами public_html

Я создаю веб-сайт, и я очень OCD, когда дело доходит до безопасности, поэтому я слышал, что если вы храните все ваши .php-файлы за пределами вашей папки public_html и вызываете их с другим .php-файлом, который находится внутри вашей папки public_html, тогда ваш риск атака ниже. Это правда, если да, то как я это сделаю. Я читал […]

Получение файла на сервере, изменение размера с помощью PHP GD2, соображения безопасности

Каковы соображения безопасности, когда сервер извлекает файл из ненадежного домена? Каковы соображения безопасности при изменении размера изображения, которому не доверяют библиотеки PHP GD2? Файл будет сохранен на серверной машине и будет предлагаться для загрузки. Я знаю, что не могу доверять заголовку MIME-Type. Есть ли что-нибудь еще, о чем я должен знать? У меня есть веб-сервис, […]

Как защитить php-скрипты?

Если у меня есть вызов AJAX для php-скрипта, например (с помощью jQuery) $.ajax(url: "../myscript.php"); и myscript выглядит так: <?php //code that does something to db ?> Я хочу знать, как запретить пользователю просто перейти на example.com/myscript.php для выполнения сценария.

HTTP-СОВЕТ и HTTP-ПАК?

В последнее время я обнаружил пару сайтов vBulletin, которые я администрирую. Они используют последнюю версию серии 3.8 (3.8.7 Patch Level 2). Обычно мне хорошо удается найти дыры, где они попадают, и исправлять их, но это меня толкает. Они вводят данные в таблицы MySQL. Атака всегда происходит, когда они делают запрос GET скрипту faq.php . Я […]

PHP – MD5, SHA, Хейшинг-безопасность

Я разработчик нового веб-сайта, созданного на PHP, и мне интересно, что именно лучше всего использовать для хэширования. Я посмотрел на md5 и sha1, но есть ли что-то более безопасное. Прошу прощения, если это вопрос, но я новичок в PHP Security, и я стараюсь сделать сайт максимально безопасным. И что такое соль? Благодаря, Waseem