Hřích nezralého mládí je to proto, že je to podobná berlička, která odnaučuje lidi myslet, jako bylo register_globals. Uvědomte si, že s daty, která dostanete přes get/post/cookies, potřebujete často provádět i jiné věci, než je okamžitě a bez jakéhokoli zpracování vrazit do databáze. Pokud máte zapnuté magic_quotes_gpc, budete v takových případech muset provádět zase konverzi zpět, což je hodně nešťastné. Navíc, jak už jsem zmínil, u některých databází se obejdete bez addslashes()
, protože nemusíte psát data do dotazu, a opět byste prováděl zbytečnou konverzi tam a zpátky.
P.S. Jinak magic_quotes_gpc
pochopitelně nelze zapnout/vypnout až ve skriptu (to už by bylo trochu pozdě).
addslashes()
potřeba vůbec, protože příslušné PHP rozhraní umožňuje předávat data odděleně od vlastního dotazu. Takový postup je mnohem vhodnější, protože odpadají problémy se zapomenutým nebo dvojitým escapováním a snižují se bezpečnostní rizika, plynoucí z takových opomenutí.