Apa yang sebenarnya disaring unfiltered_html dan unfiltered_upload?

8

Di antara kemampuan WordPress adalah unfiltered_htmldan unfiltered_upload, namun saya belum menemukan dokumentasi tentang apa yang secara khusus mereka izinkan atau cegah dalam pemfilteran mereka.

Satu-satunya sebutan yang saya temukan di situs WordPress unfiltered_htmladalah:

Mengizinkan pengguna memposting markup HTML atau bahkan kode JavaScript di halaman, posting, komentar, dan widget.

Saya telah melihat bahwa JavaScript difilter untuk non-admin, tetapi HTML apa yang sedang difilter?

Dan untuk unfiltered_upload:

Kemampuan ini tidak tersedia untuk peran apa pun secara default (termasuk Admin Super). Kemampuan perlu diaktifkan dengan mendefinisikan konstanta berikut:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

Dengan tetapan konstan ini, semua peran pada pemasangan satu situs dapat diberi kemampuan unfiltered_upload, tetapi hanya Admin Super yang dapat diberi kemampuan pada pemasangan Multisite.

Dan lagi, deskripsi tidak menguraikan apa yang diizinkan dan apa yang difilter.

Dapatkah seseorang mengatakan padaku apa elemen, jenis kode, atau berkas unfiltered_htmldan unfiltered_uploadkemampuan membolehkan atau mencegah?

j08691
sumber

Jawaban:

7

Sulit untuk memberikan jawaban yang tepat karena kemampuan sering digunakan lebih luas daripada yang disiratkan. Misalnya cek manage_optionsbiasanya sinonim untuk memeriksa pengguna admin dan dapat muncul dalam konteks yang sebenarnya tidak ada hubungannya dengan opsi .

Biasanya akan ada perbedaan antara konten subjek yang lewat atau tidak lewat wp_kses(). Pengaturan kses khusus dan apa yang dianggap diizinkan akan tergantung pada konteks dan mungkin waspada.

Untuk unfiltered_uploadsejauh yang saya ingat itu lebih mudah. Tanpa itu hanya jenis file yang terdaftar putih diperbolehkan. Daftar ini didasarkan pada wp_get_mime_types().

Jarang
sumber
1
Dalam file wp-includes/kses.phpAnda dapat menemukan nilai awal $allowedposttagsdan $allowedtagsarray yang digunakan oleh fungsi kses.
Milo
Terima kasih untuk penjelasannya. Sepertinya jenis MIME untuk unggahan dapat ditemukan di core.trac.wordpress.org/browser/tags/4.3/src/wp-includes/… . Adakah yang tahu di mana letak kode yang dirujuk unfiltered_html?
j08691
unfiltered_htmladalah berceceran di seluruh basis kode. Pencarian sumber cepat menjaring lebih dari selusin file berbeda menyebutkannya.
Rarst
Adakah yang bisa mengatasi ini? Saat ini adalah mimpi buruk yang mustahil untuk mengunggah media yang tidak masuk daftar putih. Tidak ada plugin yang berfungsi dengan benar. Wordpress adalah CMS - ya benar. Adalah sistem manajemen kesalahan isi.
Jim Maguire
1
pertanyaan ini benar-benar menyelamatkan hidup kita, kita telah mencari berhari-hari solusi untuk masalah yang menyebar ,, kita memiliki tipe posting khusus yang harus dioperasikan oleh pelanggan yang membuat posting mereka dengan skrip aktif dan file SVG dan, , masalahnya bukan dengan menyimpan posting masalahnya adalah bahwa WP telah menanggalkan semuanya,. ini memberi kami arah yang benar dan hak capuntuk menggunakan, terima kasih
Kresimir Pendic
4

Saya menghargai ini adalah utas lama, tetapi unfiltered_html terbatas telah menyebabkan masalah besar di situs berita kami.

Para penulis in-house (kelas pengguna khusus) diminta untuk menempatkan foto dan video dalam cerita mereka. Sementara foto tidak menjadi masalah, menanamkan iframe ke halaman dengan kode video yang disematkan melihat kode yang disematkan menghilang ketika mereka menyimpan cerita mereka.

Jika video itu disematkan oleh editor kepada mereka, penulis masih akan kehilangan iframe ketika mereka menyimpan cerita mereka.

Dengan membuka blokir unfiltered_html penulis staf kami dapat menyematkan konten video dan memasang pos mereka dengan benar.

Sedangkan untuk unfiltered_uploads, saya yakin itu telah dijawab.

Semoga ini bisa membantu seseorang.

John Le Fevre
sumber