Menghilangkan Magic Quotes

24 Agu 2013
campaign-unlimited

Tanda kutip perlu penanganan khusus ketika berada dalam query database, pada saat itu para pengembang PHP memiliki ide cemerlang untuk memasukkan backslash secara otomatis di depan tanda kutip tunggal dan ganda ke dalam teks yang dikirim dari formulir online. Untuk sementara, kebanyakan orang senang dengan hal itu. Memang Itu adalah cara atau metode yang baik, dan itu membuat lebih mudah bagi pemula untuk ke arah pemecahan masalah keamanan. Kemudian, pengembang PHP menyadari bahwa cara atau metode tersebut tidak benar-benar melakukan pekerjaan dengan baik. Lebih buruk lagi, berserakan teks yang dihasilkan secara dinamis dengan blackslash yang sedap dipandang.

Akhirnya, diputuskan bahwa magic quotes seharusnya tidak memiliki masa depan di PHP, tetapi pada saat itu, kerusakan sudah dilakukan. Skrip yang tak terhitung jumlahnya yang mengandalkan magic quotes sudah dikerahkan di website. Cukup menghapus fitur yang akan menyebabkan kekacauan. Jadi, magic quotes sedang dihapus secara bertahap. Dalam PHP 5.3, magic quotes dinonaktifkan secara default, tetapi administrator sistem masih dapat mengubahnya kembali. Namun, yang tidak akan mungkin adalah versi utama berikutnya dari PHP dan fitur ini tidak akan ada lagi.

Karena magic quotes ditakdirkan untuk memotong, semua skrip yang Anda simpan server di asumsikan bahwa magic_quotes_gpc dalam konfigurasi PHP Anda diatur ke tidak aktif. Namun, yang menyajikan masalah jika pengaturan pada server remote adalah On. Untuk mengetahui apakah konfigurasi magic_quotes_gpc di server online Anda aktif atau tidak aktif,  coba untuk meng-upload sebuah file ke website Anda. File tersebut berisiscript single-line <?php phpinfo ();?> yang menampilkan konfigurasi PHP Anda. Muat halaman ke browser, dan temukan baris pertama yang terdapat dalam Gambar.

Memeriksa apakah magic quotes diaktifkan

Jika nilai magic_quotes_gpc adalah OFF, berarti Anda beruntung.

Jika nilai magic_quotes_gpc adalah ON, Anda perlu mematikan magic quotes tersebut. Ada tiga cara untuk melakukannya, yaitu:

  1. Jika perusahaan hosting Anda memungkinkan Anda untuk mengedit php.ini, file konfigurasi PHP ini adalah pilihan terbaik. Mengubah nilai magic_quotes_gpc dari On ke Off, dan restart server web. Beberapa perusahaan hosting memungkinkan Anda untuk membuat perubahan melalui antarmuka web, tetapi Anda mungkin perlu mengedit file konfigurasi secara manual di editor teks.
  2. Jika Anda tidak memiliki kontrol atas pengaturan dalam php.ini, tetapi perusahaan hosting Anda menggunakan Apache dan memungkinkan Anda untuk mengontrol konfigurasi Anda dengan file htaccess., Tambahkan baris berikut ke file htaccess. Dalam folder tingkat atas dari website Anda: php_flag magic_quotes_gpc Off
  3. Jika pilihan tidak tersedia, Anda perlu menyertakan file nuke_magic_quotes.php pada awal semua skrip yang memproses masukan dari formulir online. File ini berisi skrip yang strip backslashes dari form input. Anda dapat mengunduh file tersebut disini.

Semoga artikel ini dapat bermanfaat untuk Anda. Terima kasih.

Penulis
Member since 2 Jul 2013