magic_quotes_gpc yönergesi sadece sistem seviyesinde etkisiz kılınabilir, çalışma anında yapılamaz. Başka bir deyişle, ini_set() işlevi bir seçenek değildir.
Örnek 1 - Sihirli tırnakların sunucu taraflı iptali
Aşağıdaki örnekte php.ini içinde bu yönergelere değer olarak Off atanmaktadır. Bu konuda daha ayrıntılı bilgi edinmek için Yapılandırma ayarlarının değiştirilmesi bölümüne bakınız.
; Sihirli tırnakların iptali ; ; Gelen GET/POST/Cookie verisi için sihirli tırnaklar magic_quotes_gpc = Off ; Çalışma anında üretilen (SQL veya exec() kaynaklı) veri için magic_quotes_runtime = Off ; Sybase-tarzı sihirli tırnak kullanımı (' yerine \' değil ''). magic_quotes_sybase = Off
Eğer sunucuda yapılandırma dosyasına erişim ve değişiklik mümkün değilse, .htaccess kullanmak da bir seçenektir. Örnek:
php_flag magic_quotes_gpc Off
Taşınabilir kod (her ortamda çalışan kod) yazmaya yönelik olarak, ayarların sunucu seviyesinde değiştirilmesi mümkün değilse magic_quotes_gpc yönergesi örnekteki gibi çalışma anında etkisiz kılınabilir. Bu yol fevkalade verimsizdir ancak uygun yönergeleri başka bir yerden atamaya tercih edilir.
Örnek 2 - Sihirli tırnakların çalışma anında iptali
<?php
if (get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
unset($process[$key][$k]);
if (is_array($v)) {
$process[$key][stripslashes($k)] = $v;
$process[] = &$process[$key][stripslashes($k)];
} else {
$process[$key][stripslashes($k)] = stripslashes($v);
}
}
}
unset($process);
?>