Se observó una inconsistencia al intentar restablecer la contraseña utilizando la aplicación "app\_retrieve\_pswd".

La corrección se realizó para los módulos nuevos, creados a partir de la versión 9.10.001.

Para los módulos creados en versiones anteriores que usan esta opción, debemos realizar un pequeño cambio en el código de la aplicación app\_retrieve\_pswd; consulte el tutorial a continuación.

![](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png)

Este tutorial cubre los módulos de seguridad creados antes de la versión 9.10.001 y que utilizan la opción **Enviar correo electrónico con un enlace para generar una nueva contraseña**.

## 1 - Abra a aplicação app\_retrieve\_pswd

Por defecto, el prefijo de las aplicaciones de seguridad es **app\_** y la carpeta "**security**", por lo que, con Scriptcase abierto, es posible localizar la aplicación:

![](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png)

Es posible que el prefijo y la carpeta se hayan cambiado durante la generación del módulo.

![](https://help.scriptcase.net/galleryDocuments/edbsn7017a8dad64379ba0eab86f9817781437e000f5f3faa0498ceec6828af8f6233471aa4f6ce7646e184323fc2e1d9a8be?inline=true)

## 2 - Accede al método send\_act

Accede al bloque de **Programación**, en la carpeta **Métodos PHP** selecciona el método **send\_act**.

![](https://help.scriptcase.net/galleryDocuments/edbsncda67cf2bf3c4bb59d177bd2ec754f42983d974babffe818057f3e794f1ed8eaece107c83ae87ebe7977b5eb8857d595?inline=true)

## 3 - Cambiar el codigo

En módulos antiguos, el código para este evento tiene este aspecto:

1. $act\_code = act\_code();
3. $sql = "UPDATE
4. sec\_users
5. SET
6. activation\_code = '". $act\_code ."'
7. WHERE
8. login = '". [usr\_login] ."'";
10. sc\_exec\_sql($sql);
12. send\_mail\_message({lang\_send\_act\_code}
13. . "  
      [http://".$\_SERVER['HTTP\_HOST'] . $\_SERVER['SCRIPT\_NAME']. "?act\_code=" . $act\_code ."](http://". $_SERVER[) ");

![](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png)

Debajo de **$act\_code = act\_code();** agregue el siguiente código: **$act\_code = substr($act\_code, 0, 32);**

El código debería verse así:

1. $act\_code = act\_code();
2. **$act\_code = substr($act\_code, 0, 32);**
4. $sql = "UPDATE
5. sec\_1users
6. SET
7. activation\_code = '". $act\_code ."'
8. WHERE
9. login = '". [usr\_login] ."'";
11. sc\_exec\_sql($sql);
13. send\_mail\_message({lang\_send\_act\_code}
14. . "  
      [http://".$\_SERVER['HTTP\_HOST'] . $\_SERVER['SCRIPT\_NAME']. "?act\_code=" . $act\_code ."](http://". $_SERVER[) ");