Be aware that even using ini_set to set 'magic_quotes_runtime' will stop working in PHP 5.4. See http://php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
(PHP 4, PHP 5)
set_magic_quotes_runtime — magic_quotes_runtime yönergesinin çalışma anı değerini belirler
$yeni_değer
) : boolmagic_quotes_runtime yönergesinin çalışma anı değerini belirler.
Bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR ve PHP 6.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenmemelisiniz.
yeni_değer
Off için FALSE
. On için TRUE
olmalıdır.
Başarı durumunda TRUE
, başarısızlık durumunda FALSE
döner.
Örnek 1 - set_magic_quotes_runtime() örneği
<?php
// Geçici bir dosya tanıtıcısı oluşturalım
$fp = tmpfile();
// Biraz veri yazalım
fwrite($fp, '\'PHP\' ardışık bir kısaltmadır');
// magic_quotes_runtime olmaksızın
rewind($fp);
set_magic_quotes_runtime(false);
echo 'magic_quotes_runtime olmaksızın: ' . fread($fp, 64), PHP_EOL;
// magic_quotes_runtime ile
rewind($fp);
set_magic_quotes_runtime(true);
echo 'magic_quotes_runtime ile: ' . fread($fp, 64), PHP_EOL;
// Ortalığı temizleyelim
fclose($fp);
?>
Yukarıdaki örneğin çıktısı:
magic_quotes_runtime olmaksızın: 'PHP' ardışık bir kısaltmadır magic_quotes_runtime ile: \'PHP\' ardışık bir kısaltmadır
Be aware that even using ini_set to set 'magic_quotes_runtime' will stop working in PHP 5.4. See http://php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
You should NEVER rely on magic quotes or addslashes for security in an SQL context. You should ALWAYS use proper escape functions, such as mysql_real_escape_string. Failure to do so may result in an SQL injection vulnerability.
A simple check and disabling of magic quotes whenever needed (e.g. if you deploy to multiple servers or you don't know the target server's PHP version).
<?php
if(version_compare(PHP_VERSION, '5.3.0', '<')){
set_magic_quotes_runtime(0);
}
?>
get_magic_quotes runtime and set_magic_quotes_runtime are useful when you want to read some data in a binary file using fread() and some bytes in such file may be interpreted as \ (backslash), " (double quotes), ' (simple quote) or any "special" character that has a meaning for string processing.