ทำไมจาวาสคริปต์ถึงได้รับอนุญาตในเนื้อหาโพสต์ของฉัน


9

Codex บอกว่าคุณไม่สามารถเพิ่มจาวาสคริปต์ในเนื้อหาโพสต์

https://codex.wordpress.org/Using_Javascript

แต่ฉันสามารถ. ฉันปิดปลั๊กอินทั้งหมดและเปลี่ยนเป็นชุดรูปแบบสิบสองสิบหก แต่ไม่มีประโยชน์ - ฉันยังคงสามารถเพิ่มจาวาสคริปต์ผ่านเนื้อหาโพสต์และเรียกใช้ในส่วนหน้า ฉันไม่ต้องการให้ใครสามารถเพิ่มจาวาสคริปต์ผ่านเนื้อหาโพสต์ (นอกเหนือจาก oembed ฯลฯ ) ด้วยเหตุผลด้านความปลอดภัย

มีใครประสบปัญหานี้หรือมีความคิดที่จะช่วย?

ขอบคุณ


ฉันคิดว่าถ้าคุณมีความสามารถในการ unfiltered_html คุณสามารถใช้ JS ทดสอบตัวแก้ไขและการเข้าสู่ระบบในระดับผู้เขียนเพื่อให้แน่ใจว่าผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบไม่สามารถทำได้
Andy Macaulay-Brook

อ่าาขอบคุณที่ถูกต้อง ผู้เขียนและผู้สนับสนุนไม่สามารถทำได้ คุณมีความคิดวิธีการกรองสคริปต์ออกจากผู้ดูแลและบรรณาธิการหรือไม่? ฉันไม่รู้ว่าจะเพิ่มการแก้ไขคำถามนี้หรือถามคำถามใหม่
arthurrandom

ฉันจะเพิ่มคำตอบและรวมถึงที่ อดทนกับฉัน - ฉันกำลังทำสิ่งนี้จากโทรศัพท์ของฉัน
Andy Macaulay-Brook

คำตอบ:


10

หากคุณมีความสามารถ unfiltered_html คุณสามารถใช้ JS ผู้ดูแลระบบและบรรณาธิการมีความสามารถนี้ตามค่าเริ่มต้น

ส่วนตัวแล้วฉันใช้ปลั๊กอินเพื่อควบคุมความสามารถของผู้ใช้ของฉัน แต่คุณสามารถทำการเปลี่ยนแปลงได้อย่างง่ายดายในรหัส:

  $role = get_role( 'administrator' );
  $role->remove_cap( 'unfiltered_html' );
  $role = get_role( 'editor' );
  $role->remove_cap( 'unfiltered_html' );

ความสามารถจะถูกเก็บไว้ในตารางตัวเลือก db ดังนั้นในทางเทคนิคคุณไม่จำเป็นต้องดำเนินการนี้ซ้ำ ๆ อาจทำให้ตัวคุณเองเป็นปลั๊กอินขนาดเล็กและใส่ไว้ในเบ็ดการเปิดใช้งาน

อย่าลืมว่าผู้ดูแลระบบสามารถหลีกเลี่ยงสิ่งนี้ได้โดยการโหลดรหัสของตัวเองแล้วแก้ไขตัวเลือกบทบาทโดยตรง ฉันไม่เคยให้ใครมีบทบาทผู้ดูแลเว้นแต่ฉันจะมีความสุขที่พวกเขาทำอะไร


ชายที่สมบูรณ์แบบขอบคุณมาก :) คุณคิดว่าคุณใช้ปลั๊กอินตัวควบคุมอะไรดี?
arthurrandom

ไม่มีปัญหา! สมาชิกโดย Justin Tadlock มันอยู่ในที่เก็บปลั๊กอิน ทำงานได้ดีหรือไม่รวมถึงการสร้างบทบาทที่กำหนดเองและ จำกัด เนื้อหา
Andy Macaulay-Brook
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.