(PHP 4, PHP 5, PHP 7, PHP 8)
addslashes — Özel karakterlerin önüne tersbölü yerleştirir
$dizge
) : stringVeritabanı sorguları gibi yerlerde kullanılmak üzere bir dizgenin içindeki özel karakterlerin önüne tersbölü koyarak elde edilen dizgeyi döndürür. Özel karakterler:
'
)"
)\
)addslashes() kullanımından amaç, PHP tarafından değerlendirilecek bir dizede yukarıda belirtilen karakterleri tersbölü ile öncelemektir:
<?php
$str = "O'Reilly?";
eval("echo '" . addslashes($str) . "';");
?>
PHP 5.4.0 öcesinde,
magic_quotes_gpc
PHP yönergesinin öntanımlı değeri on
idi ve aslında
tüm GET, POST ve COOKIE verisi üzerinde addslashes()
işlevini çalıştırırdı. Dizelerin iki defa öncelenmesini istemiyorsanız
magic_quotes_gpc ile
öncelemiş dizeyi addslashes() işlevinde
kullanmamalısınız.
get_magic_quotes_gpc() işlevi
magic_quotes_gpc değerinin
on
olup olmadığına bakmak için kullanılabilir.
addslashes() işlevi bazan hatalı olarak SQL Enjeksiyonunu engellemek için kullanılırdı. Bunun yerine veritbanlarına özgü önceleme işlevleri ve/veya hazırlanmış ifadeler kullanılmalıdır.
dizge
Öncelenecek dizge.
Öncelemli dizge.
Örnek 1 - addslashes() örneği
<?php
$str = "İsminiz O'Reilly mi?";
// Çıktısı: İsminiz O\'Reilly mi?
echo addslashes($str);
?>