-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dotar de más seguridad la redirección al formulario del TPV #1
Comments
Creo que es una manera muy insegura de pasar los parámetros. Si durante la redirección se cambian los parámetros se realiza la petición a redsys con parámetros incorrectos.
Obtiene los parámetros directamente de la URL y los codifica si no lo he entendido mal. Se me han ocurrido dos maneras de mejorar un poco la seguridad: Método 1 (bastante fácil y obvio)Antes de hacer el redirect_to, crear el objeto Transaction con los datos de la transacción.
y luego en el método form, usar los datos del objeto transaction
Y en el fichero form.html.erb, controlar que si existe @error por ejemplo, no renderize el formulario ni lo envíe.
Finalmente en el fichero notifications_controller habría que poner algo para saber que la transaction ha finalizado. Método 2Desde la view desde donde se realiza el pago (ej: botón "Pagar") se llama mediante AJAX a un método parecido al form, y que luego haga un render partial: del form. El AJAX hace un append del form que le llega al body y luego hace submit. De esta manera no hay redirección y no hay posibilidad de cambiar los parámetros.
No he probado aún este método para mejorar la seguridad, pero creo que no me dejo nada. |
La instrucción de redirección parece poco segura. Quizás se pudiera pasar los parámetros de forma codificada con algún helper que codifique y decodifique los parámetros.
The text was updated successfully, but these errors were encountered: