ปกป้องพรีเซนเทชั่นด้วยรหัสผ่านใน PHP

บทนำ

เมื่อคุณป้องกันพรีเซนเทชั่นด้วยรหัสผ่าน หมายความว่าคุณกำหนดรหัสผ่านที่บังคับใช้ข้อจำกัดบางอย่างบนพรีเซนเทชั่น เพื่อเอาข้อจำกัดออก ต้องใส่รหัสผ่าน พรีเซนเทชั่นที่ป้องกันด้วยรหัสผ่านถือว่าเป็นพรีเซนเทชั่นที่ถูกล็อค

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

  • การแก้ไข

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

    อย่างไรก็ตาม ในกรณีนี้ แม้ไม่มีรหัสผ่านผู้ใช้ก็ยังสามารถเข้าถึงเอกสารของคุณและเปิดได้ ในโหมดอ่านอย่างเดียวนี้ ผู้ใช้สามารถดูเนื้อหา หรือสิ่งต่าง ๆ เช่น ลิงก์, แอนิเมชัน, เอฟเฟ็กต์ ฯลฯ ภายในพรีเซนเทชั่นของคุณได้ แต่ไม่สามารถคัดลอกรายการหรือบันทึกพรีเซนเทชั่นได้

  • การเปิด

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

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

    หมายเหตุว่าเมื่อคุณป้องกันพรีเซนเทชั่นด้วยรหัสผ่านเพื่อป้องกันการเปิด ไฟล์พรีเซนเทชั่นจะถูกเข้ารหัส

วิธีป้องกันพรีเซนเทชั่นด้วยรหัสผ่านออนไลน์

  1. ไปที่หน้า Aspose.Slides Lock ของเรา.

    todo:image_alt_text

  2. คลิก ลากหรืออัปโหลดไฟล์ของคุณ.

  3. เลือกไฟล์ที่คุณต้องการป้องกันด้วยรหัสผ่านบนคอมพิวเตอร์ของคุณ.

  4. ป้อนรหัสผ่านที่คุณต้องการสำหรับการป้องกันการแก้ไข; ป้อนรหัสผ่านที่คุณต้องการสำหรับการป้องกันการดู.

  5. หากคุณต้องการให้ผู้ใช้เห็นพรีเซนเทชั่นของคุณเป็นสำเนาสุดท้าย ให้ทำเครื่องหมายในช่อง ทำเครื่องหมายเป็นขั้นสุดท้าย.

  6. คลิก PROTECT NOW.

  7. คลิก DOWNLOAD NOW.

การป้องกันด้วยรหัสผ่านสำหรับพรีเซนเทชั่นใน Aspose.Slides

รูปแบบที่รองรับ

Aspose.Slides รองรับการป้องกันด้วยรหัสผ่าน, การเข้ารหัส, และการดำเนินการที่คล้ายกันสำหรับพรีเซนเทชั่นในรูปแบบต่อไปนี้:

  • PPTX and PPT - การนำเสนอ Microsoft PowerPoint
  • ODP - การนำเสนอ OpenDocument
  • OTP - แม่แบบการนำเสนอ OpenDocument

การดำเนินการที่รองรับ

Aspose.Slides อนุญาตให้คุณใช้การป้องกันด้วยรหัสผ่านบนพรีเซนเทชั่นเพื่อป้องกันการแก้ไขโดยวิธีเหล่านี้:

  • การเข้ารหัสพรีเซนเทชั่น
  • ตั้งค่าการป้องกันการเขียนบนพรีเซนเทชั่น

การดำเนินการอื่น ๆ

Aspose.Slides อนุญาตให้คุณทำงานอื่น ๆ ที่เกี่ยวข้องกับการป้องกันด้วยรหัสผ่านและการเข้ารหัสได้โดยวิธีดังนี้:

  • การถอดรหัสพรีเซนเทชั่น; การเปิดพรีเซนเทชั่นที่ถูกเข้ารหัส
  • การลบการเข้ารหัส; ปิดการป้องกันด้วยรหัสผ่าน
  • การลบการป้องกันการเขียนจากพรีเซนเทชั่น
  • การรับคุณสมบัติของพรีเซนเทชั่นที่เข้ารหัส
  • การตรวจสอบว่าพรีเซนเทชั่นถูกเข้ารหัสหรือไม่
  • การตรวจสอบว่าพรีเซนเทชั่นถูกป้องกันด้วยรหัสผ่านหรือไม่

เข้ารหัสพรีเซนเทชั่น

คุณสามารถเข้ารหัสพรีเซนเทชั่นโดยตั้งรหัสผ่าน จากนั้นเพื่อแก้ไขพรีเซนเทชั่นที่ถูกล็อค ผู้ใช้ต้องใส่รหัสผ่าน

เพื่อเข้ารหัสหรือป้องกันพรีเซนเทชั่นด้วยรหัสผ่าน คุณต้องใช้เมธอด encrypt (จาก ProtectionManager) เพื่อกำหนดรหัสผ่านให้กับพรีเซนเทชั่น คุณส่งรหัสผ่านไปยังเมธอด encrypt และใช้เมธอด save เพื่อบันทึกพรีเซนเทชั่นที่ถูกเข้ารหัสใหม่

ตัวอย่างโค้ดนี้แสดงวิธีการเข้ารหัสพรีเซนเทชั่น:

  $presentation = new Presentation("pres.pptx");
  try {
    $presentation->getProtectionManager()->encrypt("123123");
    $presentation->save("encrypted-pres.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

ตั้งการป้องกันการเขียนบนพรีเซนเทชั่น

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

หมายเหตุ ว่ากระบวนการป้องกันการเขียนไม่ทำให้พรีเซนเทชั่นถูกเข้ารหัส ดังนั้นผู้ใช้—หากพวกเขาต้องการจริง ๆ—สามารถแก้ไขพรีเซนเทชั่นได้ แต่เพื่อบันทึกการเปลี่ยนแปลง พวกเขาต้องสร้างพรีเซนเทชั่นด้วยชื่อใหม่

เพื่อกำหนดการป้องกันการเขียน คุณต้องใช้เมธอด setWriteProtection ตัวอย่างโค้ดนี้แสดงวิธีการตั้งการป้องกันการเขียนบนพรีเซนเทชั่น:

  $presentation = new Presentation("pres.pptx");
  try {
    $presentation->getProtectionManager()->setWriteProtection("123123");
    $presentation->save("write-protected-pres.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

โหลดพรีเซนเทชั่นที่เข้ารหัส

Aspose.Slides อนุญาตให้คุณโหลดไฟล์ที่เข้ารหัสโดยส่งผ่านรหัสผ่านของมัน เพื่อถอดรหัสพรีเซนเทชั่น คุณต้องเรียกเมธอด removeEncryption โดยไม่มีพารามิเตอร์ จากนั้นคุณจะต้องป้อนรหัสผ่านที่ถูกต้องเพื่อโหลดพรีเซนเทชั่น

ตัวอย่างโค้ดนี้แสดงวิธีการถอดรหัสพรีเซนเทชั่น:

  $loadOptions = new LoadOptions();
  $loadOptions->setPassword("123123");
  $presentation = new Presentation("pres.pptx", $loadOptions);
  try {
    # ทำงานกับพรีเซนเทชั่นที่ถอดรหัสแล้ว
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

ลบการเข้ารหัสจากพรีเซนเทชั่น

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

เพื่อลบการเข้ารหัสหรือการป้องกันด้วยรหัสผ่าน คุณต้องเรียกเมธอด removeEncryption ตัวอย่างโค้ดนี้แสดงวิธีการลบการเข้ารหัสจากพรีเซนเทชั่น:

  $loadOptions = new LoadOptions();
  $loadOptions->setPassword("123123");
  $presentation = new Presentation("pres.pptx", $loadOptions);
  try {
    $presentation->getProtectionManager()->removeEncryption();
    $presentation->save("encryption-removed.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

ลบการป้องกันการเขียนจากพรีเซนเทชั่น

คุณสามารถใช้ Aspose.Slides เพื่อลบการป้องกันการเขียนที่ใช้ในไฟล์พรีเซนเทชั่น วิธีนี้ผู้ใช้จะสามารถแก้ไขตามที่ต้องการและไม่รับคำเตือนใด ๆ เมื่อต้องทำงานดังกล่าว

คุณสามารถลบการป้องกันการเขียนจากพรีเซนเทชั่นโดยใช้เมธอด removeWriteProtection ตัวอย่างโค้ดนี้แสดงวิธีลบการป้องกันการเขียนจากพรีเซนเทชั่น:

  $presentation = new Presentation("pres.pptx");
  try {
    $presentation->getProtectionManager()->removeWriteProtection();
    $presentation->save("write-protection-removed.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

รับคุณสมบัติของพรีเซนเทชั่นที่เข้ารหัส

โดยทั่วไปผู้ใช้มักประสบปัญหาในการรับคุณสมบัติของเอกสารจากพรีเซนเทชั่นที่เข้ารหัสหรือป้องกันด้วยรหัสผ่าน อย่างไรก็ตาม Aspose.Slides มีกลไกที่ให้คุณป้องกันพรีเซนเทชั่นด้วยรหัสผ่านโดยยังคงให้ผู้ใช้เข้าถึงคุณสมบัติของพรีเซนเทชั่นนั้นได้

หมายเหตุว่าเมื่อ Aspose.Slides เข้ารหัสพรีเซนเทชั่น คุณสมบัติของเอกสารพรีเซนเทชั่นจะถูกป้องกันด้วยรหัสผ่านโดยอัตโนมัติเช่นกัน แต่หากคุณต้องการให้คุณสมบัติของพรีเซนเทชั่นเข้าถึงได้ (แม้พรีเซนเทชั่นจะถูกเข้ารหัส) Aspose.Slides อนุญาตให้ทำได้อย่างแน่นอน

หากคุณต้องการให้ผู้ใช้ยังคงสามารถเข้าถึงคุณสมบัติของพรีเซนเทชั่นที่คุณเข้ารหัสได้ คุณสามารถใช้เมธอด encryptDocumentProperties พร้อมค่า true ตัวอย่างโค้ดนี้แสดงวิธีการเข้ารหัสพรีเซนเทชั่นพร้อมให้ผู้ใช้เข้าถึงคุณสมบัติของเอกสารได้:

  $presentation = new Presentation("pres.pptx");
  try {
    $presentation->getProtectionManager()->setEncryptDocumentProperties(true);
    $presentation->getProtectionManager()->encrypt("123123");
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

ตรวจสอบว่าพรีเซนเทชั่นถูกป้องกันด้วยรหัสผ่านหรือไม่

ก่อนที่คุณจะโหลดพรีเซนเทชั่น คุณอาจต้องการตรวจสอบและยืนยันว่าพรีเซนเทชั่นไม่ได้ถูกป้องกันด้วยรหัสผ่าน วิธีนี้ช่วยหลีกเลี่ยงข้อผิดพลาดและปัญหาอื่น ๆ ที่เกิดขึ้นเมื่อพรีเซนเทชั่นที่ป้องกันด้วยรหัสผ่านถูกโหลดโดยไม่มีรหัสผ่าน

โค้ด PHP นี้แสดงวิธีการตรวจสอบพรีเซนเทชั่นเพื่อดูว่ามีการป้องกันด้วยรหัสผ่านหรือไม่ (โดยไม่ต้องโหลดพรีเซนเทชั่นเอง):

  $presentationInfo = PresentationFactory->getInstance()->getPresentationInfo("example.pptx");
  echo("The presentation is password protected: " . $presentationInfo->isPasswordProtected());

ตรวจสอบว่าพรีเซนเทชั่นถูกเข้ารหัสหรือไม่

Aspose.Slides อนุญาตให้คุณตรวจสอบว่าพรีเซนเทชั่นถูกเข้ารหัสหรือไม่ เพื่อทำภารกิจนี้คุณสามารถใช้เมธอด isEncrypted ซึ่งจะคืนค่า true หากพรีเซนเทชั่นถูกเข้ารหัสและ false หากไม่ได้ถูกเข้ารหัส

ตัวอย่างโค้ดนี้แสดงวิธีการตรวจสอบว่าพรีเซนเทชั่นถูกเข้ารหัสหรือไม่:

  $presentation = new Presentation("pres.pptx");
  try {
    $isEncrypted = $presentation->getProtectionManager()->isEncrypted();
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

ตรวจสอบว่าพรีเซนเทชั่นถูกป้องกันการเขียนหรือไม่

Aspose.Slides อนุญาตให้คุณตรวจสอบว่าพรีเซนเทชั่นถูกป้องกันการเขียนหรือไม่ เพื่อทำภารกิจนี้คุณสามารถใช้เมธอด isWriteProtected ซึ่งจะคืนค่า true หากพรีเซนเทชั่นถูกป้องกันการเขียนและ false หากไม่ได้ถูกป้องกันการเขียน

ตัวอย่างโค้ดนี้แสดงวิธีการตรวจสอบว่าพรีเซนเทชั่นถูกป้องกันการเขียนหรือไม่:

  $presentation = new Presentation("pres.pptx");
  try {
    $isEncrypted = $presentation->getProtectionManager()->isWriteProtected();
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

ตรวจสอบหรือยืนยันว่ามีการใช้รหัสผ่านเฉพาะหรือไม่

คุณอาจต้องการตรวจสอบและยืนยันว่ามีการใช้รหัสผ่านเฉพาะในการป้องกันเอกสารพรีเซนเทชั่น Aspose.Slides มีวิธีการให้คุณตรวจสอบรหัสผ่าน

ตัวอย่างโค้ดนี้แสดงวิธีการตรวจสอบรหัสผ่าน:

  $presentation = new Presentation("pres.pptx");
  try {
    # ตรวจสอบว่า "pass" ตรงกับ
    $isWriteProtected = $presentation->getProtectionManager()->checkWriteProtection("my_password");
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

มันจะคืนค่า true หากพรีเซนเทชั่นถูกเข้ารหัสด้วยรหัสผ่านที่ระบุ มิฉะนั้นจะคืนค่า false

FAQ

วิธีการเข้ารหัสที่ Aspose.Slides รองรับคืออะไร?

Aspose.Slides รองรับวิธีการเข้ารหัสสมัยใหม่รวมถึงอัลกอริธึมที่ใช้ AES ซึ่งให้ความปลอดภัยระดับสูงสำหรับข้อมูลพรีเซนเทชั่นของคุณ

จะเกิดอะไรขึ้นหากป้อนรหัสผ่านไม่ถูกต้องเมื่อพยายามเปิดพรีเซนเทชั่น?

ระบบจะโยนข้อยกเว้นหากใช้รหัสผ่านไม่ถูกต้อง ซึ่งแจ้งให้คุณทราบว่าการเข้าถึงพรีเซนเทชั่นถูกปฏิเสธ นี้ช่วยป้องกันการเข้าถึงโดยไม่ได้รับอนุญาตและปกป้องเนื้อหาพรีเซนเทชั่น

มีผลกระทบต่อประสิทธิภาพหรือไม่เมื่อทำงานกับพรีเซนเทชั่นที่ป้องกันด้วยรหัสผ่าน?

กระบวนการเข้ารหัสและถอดรหัสอาจทำให้มีการใช้ทรัพยากรเพิ่มขึ้นเล็กน้อยในระหว่างการเปิดและบันทึก ในหลายกรณีผลกระทบต่อประสิทธิภาพนี้มีน้อยและไม่ได้ส่งผลอย่างมีนัยสำคัญต่อเวลาการประมวลผลโดยรวมของงานพรีเซนเทชั่นของคุณ