Jump to content
Froxlor Forum
  • 0

Wie wird denn der Link für die Passwortrücksetzung generiert?


rseffner

Question

Hallo,

bei mir enthält die Mail die durch "Passwort vergessen" generiert wird einen Link im Format https://server-fqdn/froxlor-fqdn/index.php?action=resetpwd&resetcode=b89......
Die doppelten FQDN stören halt unbedarfte Anwender. In meinem Fall muss "server-fqdn" (was hier ein Platzhalter ist) weg.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Ich habe da eine Spur in der index.php um die Zeile 488.

Und zwar habe ich in die Variable $activationlink zwischen "... $port . " und "$script ." mal etwast wiedererkennbaren Text geschrieben. Das führt dazu, dass der Link in der Mail dann https://server-fqdnTEXT/froxlor-fqdn... lautet.
Das Problem muss also aus dem "if (Settings::Get('system.froxlordirectlyviahostname..." kommen, denn hier wird script von "/index.php" eben auf den Hostnamen umgebaut. In dem Fall sollte der activationlink wohl innerhalb des "if" ohne $host gesetzt werden und die bestehende Zeile sollte in einen else-Zweig?

Link to comment
Share on other sites

  • 0
                                        $script = "/index.php"; // $_SERVER['SCRIPT_NAME'];
                                        if (Settings::Get('system.froxlordirectlyviahostname') == 0) {
                                                $script = \Froxlor\FileDir::makeCorrectFile("/" . basename(__DIR__) . "/" . $script);
                                                $activationlink = $protocol . '://' . $script . '?action=resetpwd&resetcode=' . $activationcode;
                                        } else {
                                                $activationlink = $protocol . '://' . $host . $port . $script . '?action=resetpwd&resetcode=' . $activationcode;
                                        }

 

Link to comment
Share on other sites

  • 0

Kann ich aktuell nicht reproduzieren, Froxlor in /var/www/froxlor/

- mit Setting "Direkt via Hostname erreichbar" = Nein

  -> https://froxlor-fqdn/froxlor/index.php?action=resetpwd&resetcode=MEINCODE 

- mit Setting "Direkt via Hostname erreichbar" = Ja

  -> https://froxlor-fqdn/index.php?action=resetpwd&resetcode=MEINCODE

Link to comment
Share on other sites

  • 0
1 hour ago, rseffner said:

denn hier wird script von "/index.php" eben auf den Hostnamen umgebaut.

falsch. die code-stelle lautet:

$script = "/index.php"; // $_SERVER['SCRIPT_NAME'];
if (Settings::Get('system.froxlordirectlyviahostname') == 0) {
	$script = \Froxlor\FileDir::makeCorrectFile("/" . basename(__DIR__) . "/" . $script);
}

1. $script hat den inhalt "/index.php"
2. wenn die setting == 0 ist -> $script wird zu order-name-wo-froxlor-drinliegt PLUS aktueller-inhalt, ergo "/froxlor/index.php"

Link to comment
Share on other sites

  • 0
11 hours ago, rseffner said:

Komisch das. Mein oben dargestellter geänderter Code löst mein Problem. Nach den Einstellungen kann ich morgen schauen.

Setting "Direkt via Hostname erreichbar" = Nein

Allerdings habe ich /var/www/froxlor in das Docroot einer Subdomain eines Kunden verlinkt und die Option an, das die Domains in den Pfadnamen auftauchen sollen. Vielleicht führt dann eben genau dieses basenamedir() dazu, dass das wie zwei FQDN aussieht.

Ist mein Setting ein von den best practices abweichender Weg?

 

Link to comment
Share on other sites

  • 0
57 minutes ago, rseffner said:

Allerdings habe ich /var/www/froxlor in das Docroot einer Subdomain eines Kunden verlink

Ist halt absolut nicht so gedacht. Das froxlor Interface ist absichtlich von Kunden Domains/Daten getrennt

Link to comment
Share on other sites

  • 0
16 minutes ago, d00p said:

Ist halt absolut nicht so gedacht. Das froxlor Interface ist absichtlich von Kunden Domains/Daten getrennt

Also wie macht man froxlor dann unter einer eigenen Subdomain, die vom Hostnamen abweicht, RICHTIG verfügbar? Als Hostname sehe ich das was u.a. in /etc/hostname und /etc/hosts steht sowie im PTR zur IP kommt.

Link to comment
Share on other sites

  • 0

der lokale hostname ist nicht zwingend ein fully qualified domain name (fqdn).

Du kannst jeden FQDN nutzen den du willst: domain.tld, froxlor.domain.tld, irgendwas.domain.tld, etc.etc.etc.

Du kannst auch xyz.domain.tld für froxlor als "system hostname" nutzen und "domain.tld" als Kundendomain, nur der Kunde kann dann natürlich "xyz.domain.tld" nicht mehr als subdomain hinzufügen

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...