Presentaciones seguras con contraseñas en PHP
Sobre la protección con contraseña
¿Cómo funciona la protección con contraseña de una presentación?
Cuando proteges una presentación con contraseña, estás estableciendo una contraseña que impone ciertas restricciones sobre la presentación. Para eliminar las restricciones, es necesario introducir la contraseña. Una presentación protegida con contraseña se considera una presentación bloqueada.
Normalmente, puedes establecer una contraseña para imponer estas restricciones sobre una presentación:
-
Modificación
Si deseas que solo ciertos usuarios modifiquen tu presentación, puedes establecer una restricción de modificación. Esta restricción impide que las personas modifiquen, cambien o copien contenido de tu presentación (a menos que proporcionen la contraseña).
Sin embargo, en este caso, incluso sin la contraseña, un usuario podrá acceder a tu documento y abrirlo. En modo de solo lectura, el usuario puede ver el contenido o elementos —hipervínculos, animaciones, efectos y otros— dentro de tu presentación, pero no puede copiar elementos ni guardar la presentación.
-
Apertura
Si deseas que solo ciertos usuarios abran tu presentación, puedes establecer una restricción de apertura. Esta restricción impide que las personas vean incluso el contenido de tu presentación (a menos que proporcionen la contraseña).
Técnicamente, la restricción de apertura también impide que los usuarios modifiquen tus presentaciones: cuando la gente no puede abrir una presentación, no puede modificarla ni hacer cambios en ella.
Nota que cuando proteges una presentación con contraseña para impedir su apertura, el archivo de la presentación se encripta.
Cómo proteger una presentación con contraseña en línea
-
Ve a nuestra página de Aspose.Slides Lock.

-
Haz clic en Drop or upload your files.
-
Selecciona el archivo que deseas proteger con contraseña en tu ordenador.
-
Introduce la contraseña que prefieras para la protección de edición; introduce la contraseña que prefieras para la protección de visualización.
-
Si deseas que los usuarios vean tu presentación como copia final, marca la casilla Mark as final.
-
Haz clic en PROTECT NOW.
-
Haz clic en DOWNLOAD NOW.
Protección con contraseña de presentaciones en Aspose.Slides
Formatos compatibles
Aspose.Slides admite la protección con contraseña, encriptación y operaciones similares para presentaciones en los siguientes formatos:
- PPTX y PPT - Microsoft PowerPoint Presentation
- ODP - OpenDocument Presentation
- OTP - OpenDocument Presentation Template
Operaciones compatibles
Aspose.Slides te permite usar la protección con contraseña en presentaciones para impedir modificaciones de las siguientes maneras:
- Encriptar una presentación
- Establecer una protección de escritura en una presentación
Otras operaciones
Aspose.Slides te permite realizar otras tareas relacionadas con la protección con contraseña y la encriptación de las siguientes maneras:
- Desencriptar una presentación; abrir una presentación encriptada
- Eliminar la encriptación; desactivar la protección con contraseña
- Eliminar la protección de escritura de una presentación
- Obtener las propiedades de una presentación encriptada
- Comprobar si una presentación está encriptada
- Comprobar si una presentación está protegida con contraseña.
Encriptar una presentación
Puedes encriptar una presentación estableciendo una contraseña. Luego, para modificar la presentación bloqueada, el usuario debe proporcionar la contraseña.
Para encriptar o proteger con contraseña una presentación, debes usar el método encrypt (de ProtectionManager) para establecer una contraseña para la presentación. Pasas la contraseña al método encrypt y utilizas el método save para guardar la presentación ya encriptada.
Este fragmento de código muestra cómo encriptar una presentación:
$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();
}
}
Establecer protección de escritura en una presentación
Puedes añadir una marca que indique “No modificar” a una presentación. De esta manera, puedes indicar a los usuarios que no deseas que realicen cambios en la presentación.
Nota que el proceso de protección de escritura no encripta la presentación. Por lo tanto, los usuarios—si realmente lo desean—pueden modificar la presentación, pero para guardar los cambios tendrán que crear una presentación con un nombre diferente.
Para establecer una protección de escritura, debes usar el método setWriteProtection. Este fragmento de código muestra cómo establecer una protección de escritura en una presentación:
$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();
}
}
Cargar una presentación encriptada
Aspose.Slides te permite cargar un archivo encriptado pasando su contraseña. Para desencriptar una presentación, debes llamar al método removeEncryption sin parámetros. Después tendrás que introducir la contraseña correcta para cargar la presentación.
Este fragmento de código muestra cómo desencriptar una presentación:
$loadOptions = new LoadOptions();
$loadOptions->setPassword("123123");
$presentation = new Presentation("pres.pptx", $loadOptions);
try {
# trabajar con la presentación desencriptada
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Eliminar la encriptación de una presentación
Puedes eliminar la encriptación o la protección con contraseña de una presentación. De este modo, los usuarios pueden acceder o modificar la presentación sin restricciones.
Para eliminar la encriptación o la protección con contraseña, debes llamar al método removeEncryption. Este fragmento de código muestra cómo eliminar la encriptación de una presentación:
$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();
}
}
Eliminar la protección de escritura de una presentación
Puedes usar Aspose.Slides para eliminar la protección de escritura de un archivo de presentación. Así, los usuarios pueden modificarla a su gusto y no recibirán advertencias al realizar esas tareas.
Puedes eliminar la protección de escritura de una presentación utilizando el método removeWriteProtection. Este fragmento de código muestra cómo eliminar la protección de escritura de una presentación:
$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();
}
}
Obtener las propiedades de una presentación encriptada
Normalmente, los usuarios tienen dificultades para obtener las propiedades del documento de una presentación encriptada o protegida con contraseña. Aspose.Slides, sin embargo, ofrece un mecanismo que permite proteger una presentación con contraseña manteniendo la posibilidad de que los usuarios accedan a las propiedades de esa presentación.
Nota que cuando Aspose.Slides encripta una presentación, las propiedades del documento de la presentación también se protegen con contraseña por defecto. Pero si necesitas que las propiedades de la presentación sean accesibles (incluso después de que la presentación se haya encriptado), Aspose.Slides te permite hacerlo precisamente.
Si deseas que los usuarios conserven la capacidad de acceder a las propiedades de una presentación que has encriptado, puedes usar el método encryptDocumentProperties con el valor true. Este fragmento de código muestra cómo encriptar una presentación mientras se brinda a los usuarios la posibilidad de acceder a sus propiedades de documento:
$presentation = new Presentation("pres.pptx");
try {
$presentation->getProtectionManager()->setEncryptDocumentProperties(true);
$presentation->getProtectionManager()->encrypt("123123");
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Comprobar si una presentación está protegida con contraseña
Antes de cargar una presentación, puede que quieras comprobar y confirmar que la presentación no está protegida con contraseña. De este modo, evitas errores y problemas similares que aparecen cuando se carga una presentación protegida sin su contraseña.
Este código PHP muestra cómo examinar una presentación para ver si está protegida con contraseña (sin cargar la propia presentación):
$presentationInfo = PresentationFactory->getInstance()->getPresentationInfo("example.pptx");
echo("The presentation is password protected: " . $presentationInfo->isPasswordProtected());
Comprobar si una presentación está encriptada
Aspose.Slides permite comprobar si una presentación está encriptada. Para realizar esta tarea, puedes usar el método isEncrypted, que devuelve true si la presentación está encriptada o false si no lo está.
Este fragmento de código muestra cómo comprobar si una presentación está encriptada:
$presentation = new Presentation("pres.pptx");
try {
$isEncrypted = $presentation->getProtectionManager()->isEncrypted();
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Comprobar si una presentación está protegida contra escritura
Aspose.Slides permite comprobar si una presentación está protegida contra escritura. Para realizar esta tarea, puedes usar el método isWriteProtected, que devuelve true si la presentación está encriptada o false si no lo está.
Este fragmento de código muestra cómo comprobar si una presentación está protegida contra escritura:
$presentation = new Presentation("pres.pptx");
try {
$isEncrypted = $presentation->getProtectionManager()->isWriteProtected();
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Validar o confirmar que se ha utilizado una contraseña específica
Puede que quieras comprobar y confirmar que se ha utilizado una contraseña específica para proteger un documento de presentación. Aspose.Slides proporciona los medios para validar una contraseña.
Este fragmento de código muestra cómo validar una contraseña:
$presentation = new Presentation("pres.pptx");
try {
# comprobar si "pass" coincide con
$isWriteProtected = $presentation->getProtectionManager()->checkWriteProtection("my_password");
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
Devuelve true si la presentación ha sido encriptada con la contraseña especificada. En caso contrario, devuelve false.
Ver también
Preguntas frecuentes
¿Qué métodos de encriptación admite Aspose.Slides?
Aspose.Slides admite métodos de encriptación modernos, incluidos algoritmos basados en AES, garantizando un alto nivel de seguridad de datos para tus presentaciones.
¿Qué ocurre si se introduce una contraseña incorrecta al intentar abrir una presentación?
Se lanza una excepción si se utiliza una contraseña incorrecta, indicando que el acceso a la presentación está denegado. Esto ayuda a prevenir accesos no autorizados y protege el contenido de la presentación.
¿Existen implicaciones de rendimiento al trabajar con presentaciones protegidas con contraseña?
El proceso de encriptación y desencriptación puede introducir una ligera sobrecarga durante las operaciones de apertura y guardado. En la mayoría de los casos, este impacto en el rendimiento es mínimo y no afecta significativamente al tiempo total de procesamiento de tus tareas de presentación.