Я изучаю, как правильно избежать данных, поступающих из внешнего мира, прежде чем он будет использоваться для управления приложениями, хранения, логики .. такого рода вещи.Исключение пользовательских данных, без магических котировок
Очевидно, что директива magic quotes, устаревшая в php 5.3.0+ и удаленная в php6, становится более актуальной, для тех, кто хочет обновить и перейти к новым языковым функциям, сохраняя при этом устаревший код (дон 't мы любим это ..).
Тем не менее, одна вещь, которую я не видел, - это много обсуждать теорию/лучшую практику с тем, что нужно делать, защищая ваши данные - например, для хранения с косой чертой или без нее? Я лично думаю, сохраняя спасся данные в БД плохой ход, но хочу услышать обсуждение и прочитать некоторые тематические исследования предпочтительно ..
Некоторые ссылки из PHP инструкции только для справки:
PHP Manual - mysql_real_escape_string
и т.д. и т.п.
Любые советы?
Тот факт, что вы сказали «например, чтобы хранить с или без косых черт», заставляет меня поверить, что у вас может быть некорректная концепция правильного побега. если вы выполняете экранирование правильно, то строки, отправляемые в базу данных, которая требует косой черты, будут иметь их, но фактически не будут храниться в базе данных. если вы видите слэши в базе данных, данные были неправильно экранированы. – longneck
Объясните больше, пожалуйста, длинный - будет ли mysql удалять экраны перед вставкой? Есть ли страница об этом? Но вы мертвы правильно - я думаю, что в какой-то момент я забыл об этом и теперь пытался догнать. – dmp
mysql_real_escape_string не будет пропускать косые черты и т. Д. Это делает строку безопасной для SQL-запроса. – William