Password Encryption For PHP 5.3 o ¿Debemos actualizar a 5.5+?

1

Estoy intentando cifrar las contraseñas para el sitio de nuestra empresa. Después de probar en un servidor Apache local que tiene PHP 5.5.9 y todo funcionando como se esperaba, fui a probar en nuestro servidor en vivo que está siendo alojado por GoDaddy. El problema es que cuando ejecuto mi código allí, no funciona. Una declaración phpinfo() reveló que la versión es PHP 5.3.24 .

Esto presenta un pequeño problema porque las funciones hash modernas que veo para PHP, como password_hash() , estaban escritas en PHP 5.5 o más nuevas. Realmente no veo muchos recursos para el cifrado de contraseñas para nada más antiguo que 5.3.7 y creo que es probablemente lo más inteligente para actualizar.

¿Existen funciones de hash de contraseña de PHP para 5.3.24 o debo pedirle a mi jefe que considere actualizar el servidor? Aparte de acceder al servidor Apache local, el servidor GoDaddy está fuera de mis manos, excepto el acceso a FTP, así que no tengo ni idea de si esto es algo que podamos actualizar o no.

    
pregunta 8protons 07.06.2016 - 19:26
fuente

2 respuestas

6

La actualización a la última rama estable compatible de PHP es la ruta recomendada simple y sencilla.

Dicho esto, has notado que estás con GoDaddy. ¿Cuál de sus servicios está utilizando para el proyecto? Si es su línea de alojamiento compartido, o cualquier línea que ofrezca cPanel, la actualización de las versiones de PHP no debería agregar nada a los costos actuales. Cualquier proveedor de alojamiento web con sentido común debería poder ejecutar fácilmente EasyApache, la utilidad incorporada de cPanel para actualizar y actualizar Apache, PHP y varias otras piezas de software.

Si está en un VPS, un servidor en la nube o un servidor dedicado, lo anterior todavía se aplica si está utilizando cPanel. Si está ejecutando barebones y alguien está administrando todo desde el CLI (¡bien!), La actualización lleva un poco más de tiempo, aunque no mucho. Deberán asegurarse de que se instalen los paquetes correctos antes de compilar o, simplemente, podrían usar los paquetes incorporados que ofrece upstream.

Incluso si confía en ciertos paquetes, es probable que los repositorios en sentido ascendente puedan satisfacer sus necesidades. Si no, siempre hay un paquete existente.

Dicho esto, si su jefe está decidido a quedarse con versiones anteriores, cuando se trata de PHP 5.3.7+, haré referencia a ircmaxwell y paragonie, ambos disponibles en GitHub.

password_compat - enlace

El propósito de esta biblioteca es "... proporcionar compatibilidad hacia adelante con las funciones de contraseña_ que se envían con PHP 5.5 ."

random_compat - enlace

El propósito de esta biblioteca es proporcionar compatibilidad con PHP 5.x para random_bytes() y random_int() (desde PHP 7.x). Esta no es una alternativa a password_compat, es simplemente otra capa de compatibilidad que le permitirá incorporar funciones que no podrá usar (a menos que pueda actualizar, por supuesto).

Nota : si vas a usar random_compat, asegúrate de usar una versión estable en lugar del maestro (como lo indica el autor).

github.com/paragonie/random_compat/releases/tag/v2.0.2

    
respondido por el Jonathan Tittle 07.06.2016 - 21:26
fuente
0

inicie sesión en su cuenta de destino, vaya a Mis productos > > El panel del panel C luego, en software, haga clic en "seleccionar versión de PHP" y luego seleccione php 5.5 o superior ...

    
respondido por el Ankit Verma 26.12.2016 - 07:42
fuente

Lea otras preguntas en las etiquetas