ACP > POST-Button legalisieren - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html) +--- Thema: ACP > POST-Button legalisieren (/thread-37520.html) |
ACP > POST-Button legalisieren - Gerti - 07.11.2020 Ich habe in einem PlugIn einen Button eingebaut um eine Datei zu löschen. Der Button wird korrekt angezeigt. So sieht der Code im PlugIn aus: PHP-Code: function del_file() { Code: $l['file_check_desc'] = "Hier der Inhalt der ausgerufenen Liste. Klicke ich auf den Button wird die gewünschte Funktion korrekt ausgeführt, es erscheint jedoch die Meldung: Zitat:Der Autorisierungscode konnte nicht bestätigt werden. Bitte bestätige, dass du diese Aktion ausführen möchtest.Wie muss man den Vorgang ($_POST) im PlugIn legalisieren damit die Fehlermeldung nicht erscheint? Vorab besten Dank für Tipps und Hinweise. RE: ACP > POST-Button legalisieren - StefanT - 07.11.2020 Der Autorisierungscode wird nicht automatisch geprüft und der Code-Ausschnitt enthält auch keine manuelle Prüfung (aus Sicherheitsgründen aber dringend empfohlen). Daher kann ich leider nicht erkennen, wo die Fehlermeldung generiert wird. Abgesehen davon halte ich es für unschön Formulare in Sprachdateien zu packen? Oder soll die Funktionalität (nicht Beschriftung) wirklich von der eingestellten Sprache abhängen? Davon abgesehen sollte $mybb->get_input() und nicht $_POST verwendet werden. RE: ACP > POST-Button legalisieren - Gerti - 07.11.2020 So sieht das PHP jetzt aus. PHP-Code: $form_container = new FormContainer(); auch mit: PHP-Code: if(isset($mybb_input["delete_log_files"] { OK, ich kann die Fehlermeldung nach dem "unlink" mit einem META Refresh schnell ausblenden, aber das sollte sicherlich nicht der Weisheit letzter Schluss sein. RE: ACP > POST-Button legalisieren - StefanT - 07.11.2020 Tut mit Leid, ich hatte nur den Beitrag und nicht den Betreff gelesen. Im Admin-CP wird der CSRF-Schutz automatisch geprüft, allerdings werden Formulare dort auch üblicherweise nicht manuell erstellt. Warum verwendest du nicht die Form-Klasse, wie das im MyBB-Code überall gemacht wird? Damit brauchst du nicht einmal HTML und erhältst ein Formular, das zum Theme passt und den Sicherheitscode enthält. RE: ACP > POST-Button legalisieren - Gerti - 08.11.2020 Problem konnte ich nach einigen Recherchen lösen. Anstelle von bisher: Code: <form action=\"\" method=\"post\"> PHP-Code: if(isset($_POST["delete_file"])) { Neu auf Grundlage z.B. dieses Hinweises (alle dieser gefundenen Lösunsgwege zu Posten wäre zu viel) nunmehr: Code: <form action=\"\" method=\"post\"> PHP-Code: if(isset($_POST["delete_file"]) && ($mybb->request_method == "post")) { Gehe mal davon aus, dass dies nun der korrekte Lösunsgweg gewesen ist. Besten Dank für den Hinweis bzgl. "CSRF-Schutz". |