Rumah >pembangunan bahagian belakang >tutorial php >Mengapa WordPress Masih Melarikan Diri Data Selepas Melumpuhkan Petikan Ajaib?

Mengapa WordPress Masih Melarikan Diri Data Selepas Melumpuhkan Petikan Ajaib?

Patricia Arquette
Patricia Arquetteasal
2024-10-29 06:56:02363semak imbas

Why is WordPress Still Escaping Data After Disabling Magic Quotes?

Kuandari Auto-Escape WordPress dengan Petikan Ajaib Dilumpuhkan

Walaupun melumpuhkan petikan ajaib dalam konfigurasi PHP, WordPress terus melarikan diri dari data POST secara automatik, terutamanya petikan tunggal. Tingkah laku yang membingungkan ini sering membingungkan pembangun.

Punca dan Penyelesaian

Punca utama terletak dalam proses bootstrapping WordPress. WordPress memulakan auto-escape apabila fungsi berbilang tapaknya aktif. Untuk menyelesaikan masalah ini, tambahkan kod berikut sebelum WordPress dibootstrap:

<code class="php">$_GET       = array_map('stripslashes_deep', $_GET);
$_POST      = array_map('stripslashes_deep', $_POST);
$_COOKIE    = array_map('stripslashes_deep', $_COOKIE);
$_SERVER    = array_map('stripslashes_deep', $_SERVER);
$_REQUEST   = array_map('stripslashes_deep', $_REQUEST);</code>

Kod ini akan menanggalkan garis miring daripada objek permintaan WordPress sebelum auto-escape berlaku.

Pendekatan Alternatif

Walaupun stripslashes_deep berkesan menangani isu ini, pertimbangkan pendekatan alternatif ini:

  • Gunakan "strip locally": Hanya jalur garis miring daripada elemen data POST tertentu. Contohnya: $post = array_map('stripslashes_deep', $_POST);
  • Lumpuhkan auto-escape WordPress: Add define('AUTOMATIC_ESCAPING_DISABLED', true); ke fail konfigurasi WordPress anda (wp-config.php). Ini melumpuhkan auto-melarikan diri, tetapi ia harus digunakan dengan berhati-hati.

Atas ialah kandungan terperinci Mengapa WordPress Masih Melarikan Diri Data Selepas Melumpuhkan Petikan Ajaib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn