Mobirise auf PHP umstellen, bzw die Seiten

Allgemeine Fragen
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von Tommy Herrmann »

ja - und an diesem (aktuellen) Screenshot sieht man doch, dass Du da irgendein <div> noch eingefügt hast. Das hat dort nichts zu suchen und verursacht diesen Fehler.

Ich hatte Dir doch oben (um 13:22 Uhr) geschrieben, dass dort ausschließlich das PHP-Skript hin gehört:

Code: Alles auswählen

<?php
/*
 * PHP-Webseitenschutz - geheim.php
 * - https://werner-zenk.de
 * 
 * Dieses PHP-Script muss an den Anfang jeder
 *  Seite die geschützt werden soll.
 */

session_start();
if (!isset($_SESSION["benutzername"])) {
 // Zur Anmeldung weiterleiten
 header("Location: page2.php");
 exit;
}
?>


P.S.:

Übrigens - nochmals zum Verständnis:

Ich habe das explizit in meinem Tutorial zum Einbau in NOF stehen. Dort steht am:

"Beginn der Seite"

... einbauen, damit ist der HTML-Editor von NOF gemeint, so wie auch beschrieben.

Das entspricht dann in Mobirise dem Bereich der Seiteneinstellungen, was ja auch dem gleich ist und nur einen anderen Namen trägt:

"Before <!DOCTYPE>, <html> and <head> tags:"

Der Beginn einer Seite kann niemals in irgendeinem Block von Mobirise sein, denn jeder Block und alles was man auf der Arbeitsseite von Mobirise macht, steht ausnahmslos im <body> - also als eigentlicher Inhalt der Webseite.

Wenn Du also etwas ganz oben in irgendeinen Block einfügst, ist das sowieso total falsch, weil es dann außerhalb der Block-Sektion (<section>) steht und es steht dann immer noch mitten auf der Seite und nicht "Before <!DOCTYPE>", was tatsächlich ganz oben auf einer Webseite ist, noch bevor die eigentliche Webseite mit dem <html> Tag überhaupt beginnt.
Benutzeravatar
dettec61
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 189
Registriert: Di 30. Mär 2021, 09:41
Wohnort: Siegerland

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von dettec61 »

Hallo Tommy,

ja - das ist wohl durchs kopieren aus dem HTML-Tag passiert das da noch der div-html Block mit reingerutscht ist. Danke fürs Erkennen und gut, das ich gerade diesen Teil als Screenshoot gemacht habe.

Jetzt funktioniert die Seite tatsächlich bis zur Eingabe eines vorhandenen Nutzers.
tester
test
führt jetzt noch zu dem Ergebnis im Anhang. Scheint ein ähnliches Problem zu sein... Da ich jetzt erst mal mein Arbeitsergebnis vom Real-Life dokumentieren muss, werde ich wohl erst morgen weiter machen können.

Ich bitte um Nachsehen - ich muss erst mal schauen wie sich die Mobirise-Seiten gegenüber NOF verhalten und wie diese aufgebaut sind...

Das ist jedenfalls der Teil, der auf der Anmeldeseite im Feld für vor "DOCTYPE" steht:

<?php
/*
* PHP-Webseitenschutz - anmeldung.php
* - https://werner-zenk.de
*/

session_start();
include "benutzer/benutzer.php"; // Gegebenenfalls muss diese hier angepasst werden!

// Anmeldung überprüfen
if (isset($_POST["anmeldung"])) {
if (isset($BENUTZER_PASS[$_POST["name"]]) &&
$BENUTZER_PASS[$_POST["name"]] === $_POST["passwort"]) {
session_regenerate_id();
$_SESSION["benutzername"] = $_POST["name"];

// Zur "geschützten"-Seite nach der Anmeldung weiterleiten.
header("./page1.php"); // Gegebenenfalls muss diese hier angepasst werden!
}
}

// Abmeldung
if (isset($_GET["abmeldung"])) {
// Session und Cookies löschen
unset($_SESSION["benutzername"]);
$_SESSION = [];
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000, $params["path"],
$params["domain"], $params["secure"], $params["httponly"]);
}
session_destroy();
header("./page2.php"); // Anmeldeseite
}
?>


VG
Detlev
Grüssle
Detlev
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von Tommy Herrmann »

Moin,

ja - das ist ja auch richtig - allerdings ist "page1.php" immer noch korrupt am Server und ich kann diese bisher nicht aufrufen.


Nur zum Verständnis des Skriptes oben:

Code: Alles auswählen

session_start();
include "benutzer/benutzer.php"; // Gegebenenfalls muss diese hier angepasst werden!
In diesen PHP-Befehlen (oben) wird die Browser-Sitzung ("session") gestartet, d.h. Variablen bleiben über die Seiten hinweg gültig, bis der Browser geschlossen wird.

Es wird die Datei "benutzer.php" inkludiert (also in diese Seite zur Verarbeitung mit eingelesen), die in dem Verzeichnis "benutzer" liegt. Das Verzeichnis "benutzer" liegt bei dieser relativen Pfadangabe seinerseits im gleichen Verzeichnis wie die Seite "page2.php".

Code: Alles auswählen

// Zur "geschützten"-Seite nach der Anmeldung weiterleiten.
header("Location: page1.php"); // Gegebenenfalls muss diese hier angepasst werden!
Diese Weiterleitung (oben) geht, nach erfolgreicher Überprüfung der Benutzerdaten, zu Deiner Seite "page1.php", die eben mit dem anderen (kürzeren) Skript geschützt ist und liegt im gleichen Verzeichnis wie diese aufrufende Seite "page2.php".

Code: Alles auswählen

session_destroy(); 
header("Location: page2.php"); // Anmeldeseite
Oben wird diese Browser-Sitzung ("session") gelöscht und es wird zwecks Abmeldung zurück auf die Seite "page2.php" zur Anmeldung umgeleitet, die im gleichen Verzeichnis wie die geschützte Seite "page1.php" liegt.
Benutzeravatar
dettec61
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 189
Registriert: Di 30. Mär 2021, 09:41
Wohnort: Siegerland

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von dettec61 »

Hallo Tommy,
mittlerweile sieht es schon besser aus, aber es klappt trotzdem nicht, sobald ich den Benutzer samt richtigem Passwort eingegeben habe. Die geschützte Seite lässt sich ohne den Codeschnipsel aufrufen. Ist der "jetzt" korrigierte Codeschnipsel drin (da fehlte dieses Location "header("Location: ./page2.php");" , wo ich ja ganz am Anfang nach gefragt hatte...
Es wird also auch die Seite "page1" intern aufgerufen und der php-Teil abgearbeitet, denn es wird die Anmeldeseite "page2" aufgerufen.
Falscher Benutzername/Passwort macht gar nix, aber bei korrektem Benutzernamen/Passwort kommt wieder ein Fehler.
Ich habe die Pfade zu der page1, der gesicherten Seite auch mehrfach angepasst und probiert.
page1
./page1
../page1
da der Code ja vorher eine Benutzerebene tiefer springt (include "benutzer/benutzer.php"; ) wenn ich das richtig interpretiere.
Aber egal wie - immer der Gleiche Fehler sobald ja die richtige Seite durch korrekten Benutzer/Passwort angesprungen werden soll.
Ich hänge hier mal beide zur Zeit aktiven php-Scripts an, vielleicht hast du ja mal Muse darüber zu schauen und findest einen grundsätzlichen Fehler:

PAGE2: (Anmeldeseite)
<?php
/*
* PHP-Webseitenschutz - anmeldung.php
* - https://werner-zenk.de
*/

session_start();
include "benutzer/benutzer.php"; // Gegebenenfalls muss diese hier angepasst werden!

// Anmeldung überprüfen
if (isset($_POST["anmeldung"])) {
if (isset($BENUTZER_PASS[$_POST["name"]]) &&
$BENUTZER_PASS[$_POST["name"]] === $_POST["passwort"]) {
session_regenerate_id();
$_SESSION["benutzername"] = $_POST["name"];

// Zur "geschützten"-Seite nach der Anmeldung weiterleiten.
header("./page1.php"); // Verschiedene Verzeichnistiefen getestet: ohne - ./ - ../
}
}

// Abmeldung
if (isset($_GET["abmeldung"])) {
// Session und Cookies löschen
unset($_SESSION["benutzername"]);
$_SESSION = [];
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000, $params["path"],
$params["domain"], $params["secure"], $params["httponly"]);
}
session_destroy();
header("./page2.php"); // Anmeldeseite
}
?>

PAGE1 (zu schützende Seite:)
<?php
/*
* PHP-Webseitenschutz - geheim.php
* - https://werner-zenk.de
*
* Dieses PHP-Script muss an den Anfang jeder
* Seite die geschützt werden soll.
*/

session_start();
if (!isset($_SESSION["benutzername"])) {
// Zur Anmeldung weiterleiten
header("Location: ./page2.php");
exit;
}
?>


Um evtl. Weiterleitungsprobleme zu umgehen habe ich die Seite immer direkt aufgerufen:
http://www.kreuztalertanzclub-casino.de ... /index.php

VG
Detlev
Grüssle
Detlev
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von Tommy Herrmann »

Sorry - aber solange Du den internen Server-Fehler hast, weiß ich auch keinen Rat. Vielleicht solltest Du mal bei Deinem Provider anrufen.

Dieses Skript ist bereits mehrere Tausend Mal eingebaut worden und immer vollkommen problemlos.
Benutzeravatar
dettec61
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 189
Registriert: Di 30. Mär 2021, 09:41
Wohnort: Siegerland

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von dettec61 »

Ja, das ist auch mein Gedanke die mal zu kontaktieren. Ich finde auf dem Server auch keine brauchbaren Logdateien.
Interessant ist jedenfalls das dieser Fehler scheinbar häufiger am Server zu finden ist.
Möchte ich mir diverse Dateien über deren Oberfläche anschauen, kommt genau der Gleiche nichtssagende Fehler...
Ich melde mich, wenn ich genaueres weiß...
VG und Danke
Detlev
Grüssle
Detlev
Benutzeravatar
Volker
Moderator
Moderator
Beiträge: 828
Registriert: Sa 12. Dez 2020, 22:35
Wohnort: Wildberg
Kontaktdaten:

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von Volker »

Ich weiß ja nicht bei welchen Provider Du bist. Das Du kein https laufen hast ist schon mal schlecht, nicht unbedingt für das PHP Script von Werner, sondern allgemein.
Hast Du das Video mal angesehen ? Da wird eigentlich alles genau erklärt ;)
Gruß Volker
Benutzeravatar
dettec61
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 189
Registriert: Di 30. Mär 2021, 09:41
Wohnort: Siegerland

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von dettec61 »

Fehler ist gefunden!
Entweder ist der im Script oder ich habe es überlesen. Ich habe mich über den Fehler 500 per google dahingehangelt und wie beim ersten mal fehlt beim php-Befehl "header" das "Location: ...."
Ist aber in einem Script vom Werner drin, im anderen nicht.
Vielleicht war es früher bei einer alten php-Version nicht nötig, habe zumindest 7.2 getestet, da gehts auch nicht. php 8 läuft aktuell auf dem Server.
Jetzt funktioniert es.

Ja, das mit dem https ist mir bekannt, komischerweise ist die Seite, wenn ich die per https aufrufe "zerrissen". Ich habe noch keine Ahnung wie ich das einschalten / benutzen kann. Das ist jetzt der nächste Schritt. Die Webadresse liegt bei 1&1, der Webspace bei one.com wo ich zur Zeit mit http-Weiterleitung hingehe.
VG
Detlev
Grüssle
Detlev
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von Tommy Herrmann »

na Gott sei dank :angst:

... also das "location" kann da eigentlich nirgendwo fehlen, das hast dann Du wahrscheinlich gelöscht. Das hat auch überhaupt nichts mit PHP 7 oder 8 zu tun.

Ich habe das schon im Jahr 2016 mit PHP 5 verwendet und bis heute hat sich da nichts geändert.
Benutzeravatar
dettec61
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 189
Registriert: Di 30. Mär 2021, 09:41
Wohnort: Siegerland

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von dettec61 »

Jup, das wird schon am Sonntag passiert sein, da hatte ich drauf hingewiesen das ich das "Location:" nicht drin habe sondern den absoluten Pfad. Da keiner drauf eingegangen ist habe ich wohl in meinem kleinen Hirn gedacht "egal".
Als ich dann doch den relativen Pfad eingetragen habe, blieb das "Location:" draussen...
Man verzeihe mir meine Unwissenheit - ich lerne leider sehr langsam weil ich die Birne schon recht voll habe :confused:

Weiterleitung habe ich jetzt auch auf https umgestellt, SSL und Zertifikate waren schon vorhanden...

Auch habe ich die Anmeldeseite mit divs versehen damit das jetzt korrekt aussieht. Jetzt kann ich endlich mal ein bisschen weiterprobieren und Passwörter einstellen..

dettec61 hat geschrieben: So 11. Apr 2021, 13:44 Okay, soweit habe ich das ja alles.
Nur auf der schützenden Seite bei:

header("Location: Mitglieder.php");

habe ich dieses Location nicht drin und verweise dort auf die Seite die Seite zur Anmeldung.php, bei mir halt page2.php inkl. komplettem Pfad.

header("http://www.xxxxxx.de/yyyyyyyy/page2.php");
Grüssle
Detlev
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Mobirise auf PHP umstellen, bzw die Seiten

Ungelesener Beitrag von Tommy Herrmann »

Moin,

ja sorry - das geht natürlich gar nicht und das habe ich offensichtlich auch überlesen.

Wahrscheinlich, weil ich nicht davon ausgehe, dass man den PHP-Code ändert ohne zu wissen was man tut und ich hatte Dir das ja auch x Mal als Code und richtig - mit "Location" - geschieben.

Man sollte da sehr behutsam sein und immer nur die individuellen Dinge, wie Pfad-Namen oder Passwörter anpassen aber ohne Kenntnisse bitte niemals im Code selbst herum schreiben. Das nun dabei so eine Server-Meldung heraus kommt, hätte ich jetzt auch nicht gedacht.

Ich hätte auch mal auf die Idee kommen können eine Fehlermeldung ausgeben zu lassen. Merke Dir das mal für andere PHP-Skripte. Du könntest das gleich oben im Skript - nach dem Start-Tag <?php - mit einfügen. Bei "1" wird dann eine Meldung zum Fehler angezeigt, dann kann man so etwas viel besser eingrenzen und erkennen:

Code: Alles auswählen

// PHP Fehlermeldungen (1 um zu testen und anzuzeigen - mit 0 ausschalten).
error_reporting(1); // (0/1)
Wie auch immer - Du hast es schlussendlich geschafft und darauf kommt es an :tu:

Nie aufgeben und manchmal ist es am besten, wenn man sich festgefahren hat, nochmals alles zu löschen und ganz von vorne zu beginnen. Oft macht man dann nicht den gleichen Fehler und somit geht es dann meist auch. Selbst professionelle Programmierer, die genau wissen was sie tun, übersehen gerne mal, immer und immer wieder, die blödesten Dinge.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 Gäste