]> git.p6c8.net - jirafeau_mojo42.git/commitdiff
[FEATURE] Installer: Remove (unknown) form target URL
authorDan Untenzu <untenzu@webit.de>
Wed, 18 Jan 2017 18:00:44 +0000 (19:00 +0100)
committerJerome Jutteau <jerome.jutteau@outscale.com>
Thu, 23 Feb 2017 17:34:19 +0000 (18:34 +0100)
The domain on which Jirafeau is running, is not yet
defined while installing the project. In order to build valid
action links for the form, the script generated a possible URL
using the request header. This method may fail for proxies
or while using HTTPS or due to spoofing or…

In HTML5 we can safely omnit the action attribute (see
http://stackoverflow.com/a/9678030), which will cause the browser
to send the request to the exact same URL again.

This way we can avoid the URL guessing during the installation.

Refs #79

install.php

index 2d7afd986d008fdf268b17b5c8b35ef7244026c5..fbd366727c896f8b37453ddd3c4e56281354f10e 100644 (file)
@@ -206,8 +206,7 @@ case 1:
 default:
     ?><h2><?php printf (t('Installation of Jirafeau') . ' - ' . t('step') .
     ' %d ' . t('out of') . ' %d', 1, 4);
-    ?></h2> <div id = "install"> <form action =
-        "<?php echo basename(__FILE__); ?>" method = "post"> <input type =
+    ?></h2> <div id = "install"> <form method="post"> <input type =
         "hidden" name = "jirafeau" value =
         "<?php echo JIRAFEAU_VERSION; ?>" /><input type = "hidden" name =
         "step" value = "1" /><fieldset> <legend><?php echo t('Language');
@@ -240,8 +239,7 @@ break;
 case 2:
     ?><h2><?php printf (t('Installation of Jirafeau') . ' - ' . t('step') .
     ' %d ' . t('out of') . ' %d', 2, 4);
-    ?></h2> <div id = "install"> <form action =
-        "<?php echo basename(__FILE__); ?>" method = "post"> <input type =
+    ?></h2> <div id = "install"> <form method="post"> <input type =
         "hidden" name = "jirafeau" value =
         "<?php echo JIRAFEAU_VERSION; ?>" /><input type = "hidden" name =
         "step" value = "2" /><fieldset> <legend><?php
@@ -272,8 +270,7 @@ break;
 case 3:
     ?><h2><?php printf (t('Installation of Jirafeau') . ' - ' . t('step') .
     ' %d ' . t('out of') . ' %d', 3, 4);
-    ?></h2> <div id = "install"> <form action =
-        "<?php echo basename(__FILE__); ?>" method = "post"> <input type =
+    ?></h2> <div id = "install"> <form method="post"> <input type =
         "hidden" name = "jirafeau" value =
         "<?php echo JIRAFEAU_VERSION; ?>" /><input type = "hidden" name =
         "step" value =
@@ -328,8 +325,7 @@ break;
 case 4:
     ?><h2><?php printf (t('Installation of Jirafeau') . ' - ' . t('step') .
     ' %d ' . t('out of') . ' %d', 4, 4);
-    ?></h2> <div id = "install"> <form action =
-        "<?php echo basename(__FILE__); ?>" method = "post"> <input type =
+    ?></h2> <div id = "install"> <form method="post"> <input type =
         "hidden" name = "jirafeau" value =
         "<?php echo JIRAFEAU_VERSION; ?>" /><input type = "hidden" name =
         "step" value =
@@ -350,8 +346,7 @@ case 4:
     if ($err['has_error'])
     {
         echo '<div class="error"><p>'.$err['why'].'<br />'.NL;
-        ?><form action = "<?php echo basename(__FILE__); ?>" method =
-            "post"> <input type = "hidden" name = "jirafeau" value =
+        ?><form method="post"> <input type = "hidden" name = "jirafeau" value =
             "<?php echo JIRAFEAU_VERSION; ?>" /><input type = "hidden" name =
             "step" value = "4" /><input type = "submit" name =
             "retry" value =

patrick-canterino.de