Защита taint-ing
защитата "taint-ing" се прави на user imput-a, т.е. на това което получаваш от бисквитки, от url, от PUT и т.н.
т.е. когато очакваш вход от каквото и да е, винаги го проверявай, особено когато после използваш данните от входа за конструкция на SQL query,
ако взимаш от form $username без да го филтрираш и го подаваш на : SELECT * FROM users WHERE username = $username
може потребителя ти да въведе следното: fakeuser UNION SELECT load_file(/etc/passwd)
или INSERT, SET и да ти подмени данните в базата. още по - гадното е, че дори да ползваш функции за escape на ')&; символи, напоследък символите се обръщат в hex код който базата данни разпознава и обръща обратно в нормален текст и изпълнява заявката.
но дори и да не можеш да се защитиш от най - сложните inject-ции нищо не ти пречи да се подсигуриш пред най - простите, с малко повече оглеждане на кода и проверка на всеки input, колкото и сигурен да си мислиш, че е..