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

Советы по подписанию файлов cookie вместо сеансов

Я рассматриваю возможность отладки PHP $_SESSION (т.е. обработку сеанса на стороне сервера, чтобы добавить какой-то язык-агностический вкус) и вместо этого использовать подписанные файлы cookie, так как я слышал о них много хорошего (Flickr использует их, поэтому они должны быть достаточно хорошим для меня тоже). Я понимаю основной контекст метода: используйте файлы cookie для передачи пар […]

регенерирующий идентификатор сеанса

Я думаю использовать этот код на каждой странице, чтобы уменьшить вероятность захвата сеанса. Обновляя session_id по каждому запросу if(!empty($_session)){ session_start(); } Другим способом добиться этого было бы сделать это: if(!empty($_session)){ session_regenerate_id(true); } Однако я слышал критические замечания по поводу этой функции, которые говорят, что если страница по какой-либо причине слишком быстро обновляется, идентификатор сеанса становится […]

Как динамически управлять ролями | разрешениями в Symfony2: ограничить функции динамическими ролями

Этот пост должен быть своего рода второй частью этого сообщения, поэтому вам, возможно, придется прочитать его, чтобы понять этот вопрос. Имея эту информацию и ответ от предыдущего сообщения, а также обнаружив этот полезный UserBundle, который помогает мне в качестве примера проиллюстрировать возможные отношения как « Many To Many между roles и users я могу спросить: […]

Безопасность массива $ _SESSION

Когда пользователь с низким уровнем привилегий, не являющийся администратором, успешно регистрируется в моем веб-приложении, я сохраняю следующие данные в $_SESSION : $_SESSION = array( 'user_id' => 2343, // whatever their user_id number is from the DB 'allow_admin' => false, // don't give them access to admin tools 'allow_edit' => false, // don't let them edit […]

Как создать защищенный токен Google ReCaptcha V2 с помощью PHP?

Я пытаюсь создать безопасный токен для ReCaptcha V2, как описано здесь: https://developers.google.com/recaptcha/docs/secure_token К сожалению, мой сгенерированный сток недействителен, и я не могу найти способ проверить, почему он не работает. Существует рабочий пример Java ( STokenUtils.java ), но я не могу перевести его на PHP. public static function generateSecurityToken($secretKey){ $stoken = array( 'session_id' => session_id(), 'ts_ms' […]

Подход к безопасности загрузки изображений PHP

Я разрабатываю php-скрипт для замены текущего, который будет подвергаться воздействию различных рынков / стран. Этот сценарий между другими предлагает функцию загрузки фотографий. После долгих чтений о проблеме я последовал описанному ниже подходу. Я был бы глубоко признателен за ваши замечания относительно его безопасности. Фотография загружается в приватную папку 777 за пределами веб-корня. Выполняется проверка для […]

Каков наилучший способ использования / хранения ключей шифрования в MySQL

Я планирую использовать MySQL и встроенные функции шифрования для шифрования / дешифрования определенных столбцов в определенных таблицах. Меня беспокоит то, что мне нужно где-то хранить ключ. Я мог бы, конечно, сохранить ключ в файле и управлять разрешениями этого файла и разрешениями приложения, которое обращается к нему, но этого достаточно? Я мог бы также создать веб-сервис, […]

Запуск исполняемого файла из php без появления оболочки

Мне нужно вызвать исполняемый файл из наложенного контекста скрипта PHP. Как производительность, так и безопасность мудрее, лучше не вызывать оболочку между процессом веб-сервера и исполняемым файлом. Конечно, я искал в Интернете без успеха (в таком контексте PHP). Многие другие языки позволяют это и четко документировать. Увы, backticks, exec() , shell_exec() , passthru() , system() , […]

Как ключи ввода могут использоваться злоумышленниками?

В фреймворке CodeIgniter существует функция, которая автоматически запускается для каждого запроса, который, среди прочего, фильтрует ключи массива GET / POST / COOKIE и убивает приложение, если он встречает символы, которые он считает небезопасными. Чтобы злоумышленники не пытались использовать ключи, убедитесь, что ключи называются только буквенно-цифровым текстом и несколькими другими элементами. Что-то вроде: // foreach GET/POST/COOKIE […]

Есть ли хорошие HTML-фильтры на PHP?

Я сейчас в проекте с интерфейсом PHP. Мы очень обеспокоены безопасностью, потому что у нас будет довольно много пользователей и они станут привлекательной мишенью для хакеров. Наши пользователи могут отправлять содержимое в формате HTML, которое будет видно другим пользователям позже. Это большая проблема, потому что мы уязвимы для всего набора атак XSS. Мы фильтруем как […]