Bảo mật bản trình chiếu bằng mật khẩu trong PHP

Giới thiệu

Khi bạn bảo vệ một bản trình chiếu bằng mật khẩu, có nghĩa là bạn đặt một mật khẩu để thực thi một số hạn chế trên bản trình chiếu. Để gỡ bỏ các hạn chế, cần nhập mật khẩu. Một bản trình chiếu được bảo vệ bằng mật khẩu được coi là bản trình chiếu bị khóa.

Thông thường, bạn có thể đặt mật khẩu để thực thi các hạn chế này trên một bản trình chiếu:

  • Modification

    Nếu bạn muốn chỉ một số người dùng nhất định có thể chỉnh sửa bản trình chiếu của mình, bạn có thể đặt một hạn chế chỉnh sửa. Hạn chế này ngăn người khác chỉnh sửa, thay đổi hoặc sao chép nội dung trong bản trình chiếu (trừ khi họ cung cấp mật khẩu).

    Tuy nhiên, trong trường hợp này, ngay cả khi không có mật khẩu, người dùng vẫn có thể truy cập tài liệu và mở nó. Ở chế độ chỉ đọc, người dùng có thể xem nội dung hoặc các yếu tố—liên kết, hoạt ảnh, hiệu ứng và các thứ khác—trong bản trình chiếu, nhưng họ không thể sao chép mục nào hoặc lưu bản trình chiếu.

  • Opening

    Nếu bạn muốn chỉ một số người dùng nhất định có thể mở bản trình chiếu, bạn có thể đặt một hạn chế mở. Hạn chế này ngăn người dùng thậm chí không thể xem nội dung của bản trình chiếu (trừ khi họ cung cấp mật khẩu).

    Về mặt kỹ thuật, hạn chế mở cũng ngăn người dùng chỉnh sửa bản trình chiếu: Khi người dùng không thể mở bản trình chiếu, họ không thể thực hiện sửa đổi hay thay đổi nào.

    Lưu ý rằng khi bạn bảo vệ một bản trình chiếu bằng mật khẩu để ngăn mở, tệp bản trình chiếu sẽ được mã hoá.

Cách bảo vệ bản trình chiếu bằng mật khẩu trực tuyến

  1. Đi đến trang Aspose.Slides Lock của chúng tôi.

    todo:image_alt_text

  2. Nhấp vào Kéo thả hoặc tải lên tệp của bạn.

  3. Chọn tệp bạn muốn bảo vệ bằng mật khẩu trên máy tính của mình.

  4. Nhập mật khẩu bạn muốn dùng cho việc bảo vệ chỉnh sửa; Nhập mật khẩu bạn muốn dùng cho việc bảo vệ xem.

  5. Nếu bạn muốn người dùng nhìn thấy bản trình chiếu của bạn dưới dạng bản sao cuối cùng, đánh dấu vào hộp kiểm Mark as final.

  6. Nhấp vào PROTECT NOW.

  7. Nhấp vào DOWNLOAD NOW.

Bảo vệ mật khẩu cho bản trình chiếu trong Aspose.Slides

Định dạng được hỗ trợ

Aspose.Slides hỗ trợ bảo vệ mật khẩu, mã hoá và các thao tác tương tự cho các bản trình chiếu ở các định dạng sau:

  • PPTX và PPT - Microsoft PowerPoint Presentation
  • ODP - OpenDocument Presentation
  • OTP - OpenDocument Presentation Template

Các thao tác được hỗ trợ

Aspose.Slides cho phép bạn sử dụng bảo vệ mật khẩu trên bản trình chiếu để ngăn sửa đổi theo các cách sau:

  • Mã hoá một bản trình chiếu
  • Đặt bảo vệ ghi cho một bản trình chiếu

Các thao tác khác

Aspose.Slides cho phép bạn thực hiện các tác vụ khác liên quan đến bảo vệ mật khẩu và mã hoá theo các cách sau:

  • Giải mã một bản trình chiếu; mở một bản trình chiếu đã mã hoá
  • Gỡ bỏ mã hoá; tắt bảo vệ mật khẩu
  • Gỡ bỏ bảo vệ ghi khỏi một bản trình chiếu
  • Lấy các thuộc tính của một bản trình chiếu đã mã hoá
  • Kiểm tra xem một bản trình chiếu có được mã hoá hay không
  • Kiểm tra xem một bản trình chiếu có được bảo vệ bằng mật khẩu hay không.

Mã hoá một bản trình chiếu

Bạn có thể mã hoá một bản trình chiếu bằng cách đặt mật khẩu. Sau đó, để sửa đổi bản trình chiếu đã bị khóa, người dùng phải cung cấp mật khẩu.

Để mã hoá hoặc bảo vệ bằng mật khẩu một bản trình chiếu, bạn phải sử dụng phương thức encrypt (từ ProtectionManager) để đặt mật khẩu cho bản trình chiếu. Bạn truyền mật khẩu vào phương thức encrypt và sử dụng phương thức save để lưu bản trình chiếu đã được mã hoá.

Mã mẫu sau cho thấy cách bạn mã hoá một bản trình chiếu:

  $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();
    }
  }

Đặt bảo vệ ghi cho một bản trình chiếu

Bạn có thể thêm một ghi chú “Không chỉnh sửa” vào một bản trình chiếu. Bằng cách này, bạn thông báo cho người dùng rằng bạn không muốn họ thực hiện thay đổi trên bản trình chiếu.

Lưu ý rằng quá trình bảo vệ ghi không mã hoá bản trình chiếu. Do đó, người dùng—nếu họ thực sự muốn—có thể chỉnh sửa bản trình chiếu, nhưng để lưu các thay đổi, họ sẽ phải tạo một bản trình chiếu với tên khác.

Để đặt bảo vệ ghi, bạn phải sử dụng phương thức setWriteProtection. Mã mẫu sau cho thấy cách bạn đặt bảo vệ ghi cho một bản trình chiếu:

  $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();
    }
  }

Tải một bản trình chiếu đã mã hoá

Aspose.Slides cho phép bạn tải một tệp đã mã hoá bằng cách truyền mật khẩu của nó. Để giải mã một bản trình chiếu, bạn phải gọi phương thức removeEncryption mà không có tham số. Sau đó bạn sẽ phải nhập đúng mật khẩu để tải bản trình chiếu.

Mã mẫu sau cho thấy cách bạn giải mã một bản trình chiếu:

  $loadOptions = new LoadOptions();
  $loadOptions->setPassword("123123");
  $presentation = new Presentation("pres.pptx", $loadOptions);
  try {
    # làm việc với bản trình chiếu đã giải mã
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

Gỡ bỏ mã hoá khỏi một bản trình chiếu

Bạn có thể gỡ bỏ mã hoá hoặc bảo vệ mật khẩu trên một bản trình chiếu. Bằng cách này, người dùng có thể truy cập hoặc chỉnh sửa bản trình chiếu mà không bị hạn chế.

Để gỡ bỏ mã hoá hoặc bảo vệ mật khẩu, bạn phải gọi phương thức removeEncryption. Mã mẫu sau cho thấy cách gỡ bỏ mã hoá khỏi một bản trình chiếu:

  $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();
    }
  }

Gỡ bỏ bảo vệ ghi khỏi một bản trình chiếu

Bạn có thể sử dụng Aspose.Slides để gỡ bỏ bảo vệ ghi được dùng trên tệp bản trình chiếu. Bằng cách này, người dùng có thể chỉnh sửa theo ý muốn—và họ sẽ không nhận được cảnh báo khi thực hiện các thao tác đó.

Bạn có thể gỡ bỏ bảo vệ ghi khỏi một bản trình chiếu bằng cách sử dụng phương thức removeWriteProtection. Mã mẫu sau cho thấy cách gỡ bỏ bảo vệ ghi khỏi một bản trình chiếu:

  $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();
    }
  }

Lấy các thuộc tính của một bản trình chiếu đã mã hoá

Thông thường, người dùng gặp khó khăn khi lấy các thuộc tính tài liệu của một bản trình chiếu đã được mã hoá hoặc bảo vệ bằng mật khẩu. Tuy nhiên, Aspose.Slides cung cấp một cơ chế cho phép bạn bảo vệ mật khẩu một bản trình chiếu đồng thời vẫn cho phép người dùng truy cập các thuộc tính của bản trình chiếu đó.

Lưu ý rằng khi Aspose.Slides mã hoá một bản trình chiếu, các thuộc tính tài liệu của bản trình chiếu cũng sẽ được bảo vệ bằng mật khẩu theo mặc định. Nhưng nếu bạn cần làm cho các thuộc tính của bản trình chiếu có thể truy cập được (ngay cả sau khi bản trình chiếu đã được mã hoá), Aspose.Slides cho phép bạn thực hiện chính xác điều đó.

Nếu bạn muốn người dùng vẫn có thể truy cập các thuộc tính của một bản trình chiếu bạn đã mã hoá, bạn có thể sử dụng phương thức encryptDocumentProperties với giá trị true. Mã mẫu sau cho thấy cách bạn mã hoá một bản trình chiếu đồng thời cung cấp cách để người dùng truy cập các thuộc tính tài liệu của nó:

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

Kiểm tra xem một bản trình chiếu có được bảo vệ bằng mật khẩu không

Trước khi tải một bản trình chiếu, bạn có thể muốn kiểm tra và xác nhận rằng bản trình chiếu chưa bị bảo vệ bằng mật khẩu. Bằng cách này, bạn tránh được các lỗi và vấn đề tương tự, xuất hiện khi một bản trình chiếu được bảo vệ bằng mật khẩu được tải mà không có mật khẩu.

Mã PHP này cho thấy cách bạn kiểm tra một bản trình chiếu để xem nó có được bảo vệ bằng mật khẩu hay không (không tải bản trình chiếu thực tế):

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

Kiểm tra xem một bản trình chiếu có được mã hoá không

Aspose.Slides cho phép bạn kiểm tra xem một bản trình chiếu có được mã hoá hay không. Để thực hiện việc này, bạn có thể sử dụng phương thức isEncrypted, phương thức này trả về true nếu bản trình chiếu được mã hoá hoặc false nếu bản trình chiếu không được mã hoá.

Mã mẫu này cho thấy cách bạn kiểm tra xem một bản trình chiếu có được mã hoá không:

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

Kiểm tra xem một bản trình chiếu có được bảo vệ ghi không

Aspose.Slides cho phép bạn kiểm tra xem một bản trình chiếu có được bảo vệ ghi hay không. Để thực hiện việc này, bạn có thể sử dụng phương thức isWriteProtected, phương thức này trả về true nếu bản trình chiếu được bảo vệ ghi hoặc false nếu không.

Mã mẫu này cho thấy cách bạn kiểm tra xem một bản trình chiếu có được bảo vệ ghi không:

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

Xác thực hoặc xác nhận rằng một mật khẩu cụ thể đã được sử dụng

Bạn có thể muốn kiểm tra và xác nhận rằng một mật khẩu cụ thể đã được dùng để bảo vệ tài liệu bản trình chiếu. Aspose.Slides cung cấp phương tiện để bạn xác thực một mật khẩu.

Mã mẫu này cho thấy cách bạn xác thực một mật khẩu:

  $presentation = new Presentation("pres.pptx");
  try {
    # kiểm tra nếu "pass" khớp với
    $isWriteProtected = $presentation->getProtectionManager()->checkWriteProtection("my_password");
  } finally {
    if (!java_is_null($presentation)) {
      $presentation->dispose();
    }
  }

Nó trả về true nếu bản trình chiếu đã được mã hoá bằng mật khẩu đã chỉ định. Ngược lại, nó trả về false.

Câu hỏi thường gặp

Aspose.Slides hỗ trợ các phương pháp mã hoá nào?

Aspose.Slides hỗ trợ các phương pháp mã hoá hiện đại, bao gồm các thuật toán dựa trên AES, đảm bảo mức độ bảo mật cao cho dữ liệu bản trình chiếu của bạn.

Điều gì xảy ra nếu nhập sai mật khẩu khi cố gắng mở một bản trình chiếu?

Một ngoại lệ sẽ được ném ra nếu mật khẩu không đúng, thông báo rằng việc truy cập vào bản trình chiếu đã bị từ chối. Điều này giúp ngăn chặn truy cập trái phép và bảo vệ nội dung bản trình chiếu.

Có bất kỳ tác động nào đến hiệu năng khi làm việc với bản trình chiếu được bảo vệ bằng mật khẩu không?

Quá trình mã hoá và giải mã có thể gây ra một chút chi phí bổ sung trong quá trình mở và lưu. Trong hầu hết các trường hợp, ảnh hưởng đến hiệu năng là tối thiểu và không ảnh hưởng đáng kể đến thời gian xử lý chung của các tác vụ liên quan đến bản trình chiếu.