В документации Propel ORM упоминается аккуратная функция импорта / экспорта с использованием таких функций, как fromArray и fromJSON, что должно позволить что-то вроде этого: $foo = new Widget(); $foo->fromArray($_POST); $foo->save(); /* Aaand you're done! */ … но документация не упоминает, что использование этого метода должно быть безопасным, т. е. если fromArray может обрабатывать ненадежный вход. […]
Одна вещь, которая меня всегда путала, – это экранирование входа и защита от атак, таких как SQL-инъекция, или нет. Скажем, у меня есть форма, которая отправляет данные с помощью HTTP POST в файл PHP. В поле ввода введите следующее: "Hello", said Jimmy O'Toole. Если вы печатаете / эхо вводите на странице PHP, которая получает эти […]
У меня нет понятия о безопасности ZF. Должен ли я использовать фильтр при работе в базе данных? Может быть, связывание достаточно? Как насчет этого: $users->update($data, 'id=1'); Следует ли каким-то образом отфильтровать массив данных? Не стесняйтесь писать все, что вы знаете о проблеме. Не могли бы вы дать некоторые ссылки на хорошие статьи о безопасности в […]
Каков наилучший способ избежать строк для вставок sql, обновлений? Я хочу разрешить специальные символы, включая «и». Является ли лучший способ поиска и замены каждой строки, прежде чем использовать ее в инструкции insert? благодаря Дубликат: лучший способ защитить от инъекций mysql и межсайтового скриптинга
Я понимаю, что подготовленные заявления – это лучший способ поиска защиты от SQL-инъекции. Однако они обеспечивают покрытие ограниченным образом; например, в тех случаях, когда я позволяю пользователю решать, как должен быть порядок по операции (т. е. это ASC или DESC? и т. д.), я не получаю никакого покрытия там с подготовленными операциями. Я понимаю, что […]
Я пытаюсь вставить вкладки посетителя в базу данных. Это работает, но – настолько ли это достаточно для предотвращения внедрения sql? <?php $db_host = "localhost"; $db_name = "db_qadenza"; $db_user = "root"; $odb = new PDO ("mysql:host=" . $db_host . ";dbname=" . $db_name, $db_user); if(isset($_POST['Submit'])) { $user = $_POST['user']; $pass = $_POST['pass']; $mail = $_POST['mail']; $confirm_key=md5(uniqid(rand())); $q […]
Извиняюсь, если это уже было задано. Я видел ответы на статические SQL-запросы, но в этом случае я бы хотел использовать PDO-> prepare () для строки запроса, которая динамически создается во время выполнения. Перейдя к простому примеру: $TempSQL = "SELECT field1, field2, field3 FROM table WHERE "; if ($numberParams == 1) { $TempSQL = $TempSQL . […]
Как защитить свой сайт от локального включения файлов и внедрения SQL (PHP)?
Я читал вчера вечером о предотвращении инъекций SQL, и я наткнулся на этот ответ: Как я могу предотвратить SQL-инъекцию в PHP? Комментарии от «Your Common Sense» заставили его звучать так, как будто это было неблагополучным / небезопасным. Тем не менее, в моем (хотя и ограниченном) тестировании я обнаружил, что «bin2hex ($ var)» php «работал с […]
Я работаю над сайтом, который был взломан через SQL Injection (на первый взгляд только записи в db повреждены межсайтовыми скриптами) потенциальная уязвимость, которую я обнаружил после просмотра кода, заключается в том, что существует много вызовов mysql_query, входы которых не сбежал вообще. Старый добрый: $query = "SELECT * FROM mytable where name LIKE '%".$_GET['name']."%'"; /*HACK HERE*/ […]