ارائه‌های امن با رمز عبور در PHP

معرفی

وقتی یک ارائه را با رمز عبور محافظت می‌کنید، به این معنی است که رمز عبوری تنظیم می‌کنید که برخی محدودیت‌ها را بر روی ارائه اعمال می‌کند. برای حذف این محدودیت‌ها، باید رمز عبور را وارد کنید. یک ارائه محافظت‌شده با رمز عبور به‌عنوان یک ارائه قفل‌گذاری‌شده در نظر گرفته می‌شود.

معمولاً می‌توانید رمز عبوری تنظیم کنید تا این محدودیت‌ها را بر روی یک ارائه اعمال کنید:

  • تغییر

    اگر می‌خواهید فقط کاربران معینی بتوانند ارائه شما را ویرایش کنند، می‌توانید یک محدودیت تغییر تنظیم کنید. این محدودیت مانع افراد از ویرایش، تغییر یا کپی کردن موارد در ارائه شما می‌شود (مگر اینکه رمز عبور را ارائه دهند).

    با این حال، در این حالت حتی بدون رمز عبور، کاربر می‌تواند به سند شما دسترسی پیدا کند و آن را باز کند. در این حالت فقط‑خواندنی، کاربر می‌تواند محتوا یا مواردی مانند پیوندها، انیمیشن‌ها، افکت‌ها و غیره را در ارائه شما ببیند، اما نمی‌تواند آیتم‌ها را کپی کند یا ارائه را ذخیره کند.

  • بازکردن

    اگر می‌خواهید فقط کاربران معینی بتوانند ارائه شما را باز کنند، می‌توانید یک محدودیت بازکردن تنظیم کنید. این محدودیت مانع افراد از حتی مشاهده محتویات ارائه شما می‌شود (مگر اینکه رمز عبور را ارائه دهند).

    از نظر فنی، محدودیت بازکردن همچنین از ویرایش ارائه توسط کاربران جلوگیری می‌کند: وقتی افراد نمی‌توانند یک ارائه را باز کنند، نمی‌توانند آن را تغییر یا ویرایش کنند.

    نکته اینکه وقتی یک ارائه را با رمز عبور محافظت می‌کنید تا از بازکردن آن جلوگیری شود، فایل ارائه رمزگذاری می‌شود.

نحوه محافظت با رمز عبور از یک ارائه به‌صورت آنلاین

  1. به صفحه Aspose.Slides Lock ما مراجعه کنید.

    todo:image_alt_text

  2. روی Drop or upload your files کلیک کنید.

  3. فایلی را که می‌خواهید با رمز عبور محافظت کنید، از کامپیوتر خود انتخاب کنید.

  4. رمز عبور دلخواه خود را برای حفاظت از ویرایش وارد کنید؛ رمز عبور دلخواه خود را برای حفاظت از مشاهده وارد کنید.

  5. اگر می‌خواهید کاربران ارائه شما را به‌عنوان نسخه نهایی ببینند، گزینه Mark as final را تیک بزنید.

  6. روی PROTECT NOW. کلیک کنید.

  7. روی DOWNLOAD NOW. کلیک کنید.

حفاظت با رمز عبور برای ارائه‌ها در Aspose.Slides

فرمت‌های پشتیبانی‌شده

Aspose.Slides حفاظت با رمز عبور، رمزگذاری و عملیات مشابه را برای ارائه‌ها در این فرمت‌ها پشتیبانی می‌کند:

  • PPTX و 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();
    }
  }

تنظیم محافظت نوشتنی برای یک ارائه

می‌توانید علامتی با متن «Do not modify» به یک ارائه اضافه کنید. به این ترتیب به کاربران می‌گویید که نمی‌خواهید آنها تغییراتی در ارائه ایجاد کنند.

نکته این است که فرآیند محافظت نوشتنی ارائه را رمزگذاری نمی‌کند. بنابراین، کاربران—اگر بخواهند—می‌توانند ارائه را ویرایش کنند، اما برای ذخیره تغییرات باید یک ارائه با نام متفاوت ایجاد کنند.

برای تنظیم محافظت نوشتنی باید از متد 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.

سؤالات متداول

کدام روش‌های رمزگذاری توسط Aspose.Slides پشتیبانی می‌شوند؟

Aspose.Slides روش‌های رمزگذاری مدرن، از جمله الگوریتم‌های مبتنی بر AES را پشتیبانی می‌کند و امنیت بالای داده‌ها را برای ارائه‌های شما تضمین می‌کند.

چه اتفاقی می‌افتد اگر هنگام تلاش برای باز کردن یک ارائه رمز عبور نادرست وارد شود؟

در صورت استفاده از رمز عبور نادرست، یک استثنا تولید می‌شود که به شما اطلاع می‌دهد دسترسی به ارائه رد شده است. این امر به جلوگیری از دسترسی غیرمجاز و محافظت از محتوای ارائه کمک می‌کند.

آیا هنگام کار با ارائه‌های محافظت‌شده با رمز عبور پیامدهای عملکردی وجود دارد؟

فرآیند رمزگذاری و رمزگشایی ممکن است کمی بار اضافه در هنگام عملیات باز کردن و ذخیره‌سازی ایجاد کند. در اکثر موارد، این تاثیر عملکردی کم است و به‌طور قابل توجهی زمان کلی پردازش وظایف ارائه شما را تحت تأثیر قرار نمی‌دهد.