У меня есть простой веб-сайт, где Я устанавливаю соединение с сервером Mysql с помощью PDO.
$dbh = new PDO('mysql:host=localhost;dbname=DB;port=3306', 'USER',
'SECRET',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
У меня был некоторый трафик на моем сайте, и был достигнут предел подключения серверов, и веб-сайт выдает эту ошибку с моим паролем PLAIN!
Неустранимая ошибка: Uncaught исключение 'PDOException' с сообщением 'SQLSTATE [08004] [1040] Слишком много связи в /home/domain/html/index.php:xxx Трассировка стека: # 0 /home/domain/html/index.php(64): PDO -> __ construct ('mysql: host = loca ...', "ПОЛЬЗОВАТЕЛЬ", "СЕКРЕТНО", массив) # 1 {main} добавлено /home/domain/html/index.php в строка 64
По иронии судьбы, я переключился на PDO из соображений безопасности, так что это действительно шокировало меня, потому что именно эту ошибку можно очень легко спровоцировать на большинстве сайтов, использующих простой HTTP-переполнение.
Теперь я заключил свое соединение в блокировку try / catch, но все же считаю, что это катастрофа!
Я новичок в PDO, поэтому у меня вопрос: что мне делать, чтобы считаться безопасным? Как установить безопасное соединение? Есть ли другие известные дыры в безопасности, подобные этой, о которых я должен знать?