1. Какой алгоритм хеширования достаточно для большинства сайтов (WP, Joomla, FB и др.)? простой MD5 с солью? или что
Вы должны использовать MD5 с солью как минимум. В идеале вы должны использовать другой алгоритм хеширования, поскольку MD5 оказался небезопасным по сравнению с другими доступными алгоритмами. Взгляните на различные доступные здесь hash () . Лично я бы использовал SHA512 с солью для каждого пользователя.
Использование соли для каждого пользователя означает, что любому злоумышленнику, который завладеет вашей базой данных, придется взламывать пароли для каждого пользователя, а не взламывать их все сразу.
2. С какими атаками мне приходится иметь дело, кроме сверхсекретных сайтов, существующих на сайте сообщества
Основными атаками будут SQL Injection атаки (либо для кражи базы данных, либо для внедрения вредоносного кода на ваш сайт). Это также может быть связано с атакой Cross-Site Scripting , которая может позволить злоумышленнику разместить собственный код на вашем сайте (например, тег ) для заражения пользователей вирусами.
Эти две атаки могут быть смягчены путем экранирования любых переменных, входящих в вашу базу данных, а также удаления любого HTML (или специальных символов) в любых данных, предоставленных пользователем.
3. Что лучше среди PDO и MySQLi
Этот вопрос я оставлю кому-то еще, чтобы ответить - я не настолько осведомлен о различиях.
Надеюсь, это поможет