pluxml / PluXml

A CMS to create lightweight websites with ease and without database.
http://pluxml.org
GNU General Public License v3.0
212 stars 66 forks source link

DRY medias header location + Fix repost on reload page #718

Open sudwebdesign opened 7 months ago

sudwebdesign commented 7 months ago

$redirect & $posted for AdminMediasPrepend hook

Fix when move on folder & reload page after browser say : You want repost data? If click Ok, PluXml say :

Security error : invalid or expired token
bazooka07 commented 7 months ago

PluXml does not say "Security error : invalid or expired token" voir PR #724

bazooka07 commented 7 months ago

Voir PR #https://github.com/pluxml/PluXml/pull/726 pour redirection après traitement de $_POST

sudwebdesign commented 7 months ago

PluXml does not say "Security error : invalid or expired token" voir PR #724

Si avec F5² (qui fait ça appart les devs)

Pour reproduire ; on choisit un dossier > Ok > F5 + Ok (yep :+1: ) > F5 + Ok == invalid or expired token

bazooka07 commented 7 months ago
public static function validateFormToken($request='') {
    if($_SERVER['REQUEST_METHOD']=='POST' AND isset($_SESSION['formtoken'])) {
        # .....

        if(!empty($_SESSION['formtoken'])) {
            while(count($_SESSION['formtoken']) > 5) {
                $oldTime = array_shift($_SESSION['formtoken']);
            }
        }
    }
}

Maintenant tu as droit à 5 tentatives

sudwebdesign commented 7 months ago

Merci pour l'info, ça peut-être utile :+1:

Imaginons un cas d'utilisation :

Un utilisateur attend d'un autre qu'il envoie des images... Il choisit le dossier là ok, il recharge un peu après avec F5 ou avec l’icône du navi (déjà il se demande oui ou non) bon il dit ok et aucune erreur de token (maintenant, avant oui).

Et il recharge la page encore une fois de plus, (il a plus peur, ça passe). Bin là une erreur (normale) apparaît et il est bloqué.

Sauf que le F5 suivant (avec re-postage) passe bien sans l'erreur, le suivant non et suivant oui et ainsi de suite, Est-ce normal, ou pas?

[edit] C'est bien que ça passe, car ma permis d'évité de perdre des données après une longue pause. (se connecte avec un autre onglet) re-poste et ouf c'est sauvé.

sudwebdesign commented 7 months ago

De plus ça permet aux codeurs de désactiver la redirection avec une seule ligne a commenter, quelques fois ça ma aidé à trouver ou ça cloche, la redir cache parfois des choses ;)