3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 5018
Registriert: 08.06.2009 12:03

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von Talk19zehn »

Hm, aber das war doch nie anders? Oder welchen Part habe ich verpasst, nicht berücksichtigt? Demnach liege ich in der Beurteilung (Themenstart) falsch.

Okay, ich pausiere ein weiteres Mal. Das wird wohl meinerseits ein "Ost-Groschen" .. :roll:

LG
Adventereigniskalender für phpBB 3.3.x,
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von tas2580 »

Richtig, es war schon immer so das du wenn du kein Cookie und keine SID als URL-Parameter übergibst abgemeldet wirst. Das liegt einfach am Protokoll mit dem das Web läuft.

Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
netwurm
Mitglied
Beiträge: 8
Registriert: 01.03.2016 16:15

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von netwurm »

Hi,

Ich teste derzeit die neue Version 3.1.8 lokal und versuche die Spam-Einträge / Anmeldungen welche eine Schwachstelle der Vorgängerversion genutzt haben zu eliminieren.
Es war mir möglich sämtliche Bot-Anmeldungen / Benutzerkontenerstellung in der Datenbank zu löschen.
Von Prinzip her hatte ich das bei der Vorgängerversion so gelöst das ich den Anmeldebutton per Javascript deaktiviert war. Welcher mit erreichen einer Bedingung (Punktestand) als Cookie aktiviert wurde.


Diese Schutzmaßnahme möchte ich jetzt per PHP in den Anmeldeprozesses integrieren.

Beispiel:

Code: Alles auswählen


If($meine_Bedingung === true)
{
define('FORUM_USER_DARF_SICH_ANMELDEN', true); 
}

if (defined('FORUM_USER_DARF_SICH_ANMELDEN')) {
    
Code: Jetzt Anmeldung möglich PHPBB
}
 
Wo bzw. welche Datei macht Sinn um meine Bedingung / phpCode einzubinden?
Wo bzw. welche Änderungen sind am phpbb Quelltext notwendig?
Wie kann ich eigene Super Globale definieren ohne das ich insgesamt die Schutzmechanismen / Globale vom Forum deaktiviere?
- habe das bis jetzt unklug gelöst:

in der request.php

namespace phpbb\request;
protected $super_globals_disabled = true;

das ist nicht so gut ....

besser:

eine Ausnahme

Code: Alles auswählen

$_COOKIE['meinWert']  // darf 
$_SESSION['meinWert'] // draf   
gleiche Rechte

Code: Alles auswählen

@require_once($_SERVER["DOCUMENT_ROOT"].'/incMeinverzeichnis/meineCode.php);
Hm, viele Fragen ich hoffe ich konnte das einigermaßen in Worte kleiden...

Grüße Netwurm
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von tas2580 »

netwurm hat geschrieben:Von Prinzip her hatte ich das bei der Vorgängerversion so gelöst das ich den Anmeldebutton per Javascript deaktiviert war. Welcher mit erreichen einer Bedingung (Punktestand) als Cookie aktiviert wurde.
Das bringt nur bedingt was da Bots 1. kein JavaScript können und 2. keine Buttons benutzen. Ich hab dazu vor einiger Zeit mal einen Blogpost geschrieben.
netwurm hat geschrieben:Wo bzw. welche Datei macht Sinn um meine Bedingung / phpCode einzubinden?
Wo bzw. welche Änderungen sind am phpbb Quelltext notwendig?
Wie kann ich eigene Super Globale definieren ohne das ich insgesamt die Schutzmechanismen / Globale vom Forum deaktiviere?
- habe das bis jetzt unklug gelöst:
Änderungen an den Dateien sind keine gute Idee, dafür gibt es Extensions.

Was genau hast du denn vor? Willst du einfach eine eigene Seite zu phpBB hinzufügen oder willst du die Anmeldung von phpBB auf deiner Webseite mit eigenem PHP Code benutzen?

Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
netwurm
Mitglied
Beiträge: 8
Registriert: 01.03.2016 16:15

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von netwurm »

Hi,

habe mich durchgewühlt....

includes\funktions_user.php


Code: Alles auswählen

function user_add($user_row, $cp_data = false, $notifications_data = null)
{
     If($spamfilter === true)
      {
      return false;  
      }
}
@Das bringt nur bedingt was da Bots 1. kein JavaScript können und 2. keine Buttons benutzen.
aber "normal" User schon

hatte damals die Richtigen Nutzer in der DB mit geschrieben....

Was das Spam Aussortieren enorm vereinfachte jedoch keine Spam Sicherheit schaffte.

Code: Alles auswählen

SPALTE =  `phpbbneu_profile_fields_data` bzw. `phpbbneu_user_group` usw.     
Delete FROM  SPALTE   WHERE NOT FIND_IN_SET(user_id,'1,2,5,6,357,307,15,140,323,141,196,22,23,57,4,288,138,139,38
,4767,4852,3430,2499,7,121,6920,6912,6667,6774,5027,316,317,268,8,10,11,9,41,13,14,16,20,17,18,19,21,32,25,24
,80,26,27,28,29,30,31,43,33,34,35,37,36,39,44,134,137,40,58,42,45,46,54,47,49,48,308 usw........ 


@Extensions
Muss ich mich erst reinknie um da durchzusehen ....

@Was genau hast du denn vor?
phpbb möglichst Spam Sicher machen ;o)

Und vor allen Dingen die Anmeldung Global auf der Domain nutzen zu können um Benutzer zu verifizieren. phpbb ist keine schlechte Sache aber eben anfällig wie Joomla auch ....
Was mir jetzt richtig helfen könnte für die Version 3.1.8 eine Externe Anmeldung (per PHP) eine Verzeichnis Ebene höher
Danach kann ich dann phpbb Cookie nutzen für eine Interaktion mit phpbb...

Grüße Netwurm
netwurm
Mitglied
Beiträge: 8
Registriert: 01.03.2016 16:15

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von netwurm »

Hi,

Hier mein Login


Cookie Path Website = / Bei separaten Login bzw. Formular
Cookie Path Forum = / Einstellungen Forum


Session Validieren !!!

Code: Alles auswählen

if($_COOKIE['tt_sid'] and preg_match("/^([0-9a-z])+$/", $_COOKIE['tt_sid']))
{
$sql = "SELECT u.user_id, u.user_type,u.group_id, u.username FROM phpbbneu_sessions s, phpbbneu_users u WHERE s.session_id = '".$_COOKIE['tt_sid']."' AND u.user_id = s.session_user_id";
$rs = @mysql_query($sql, $conn_ln);
@list($id_usr,$typ_user,$group_id, $name_user) = @mysql_fetch_row($rs);
//echo  "  $sql <hr> $id_usr,$typ_user,$group_id,$name_user";
}
Rechte Validieren !!!

Code: Alles auswählen

if (preg_match("/^(5|2|10)$/", $group_id) AND preg_match("/^(0|3)$/", $typ_user) AND !empty($name_user) AND !empty($id_usr))
{
  return true;
}
else
{
   return false;
}

Code Anpassen für Formular

$_POST Validieren !!!

Code: Alles auswählen


<?php

define('ROOT_PATH', $_SERVER["DOCUMENT_ROOT"].'/phpbbforum/');
define('IN_PHPBB', true);

$username    ='tester3';
$password    ='tester3pass';
$autologin    ='';
$viewonline    ='';


$phpbb_root_path = ROOT_PATH;
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_module.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');


$login = array();
$login = $auth->login($username, $password, $autologin, $viewonline);



if($login['status'] == LOGIN_SUCCESS || $user->data['user_id'] != ANONYMOUS)
{
    if(!empty($login)) $auth->acl($user->data);

    echo "<h1>Drinnn</h1>";

}
else
{
    echo "<h1>neeee</h1>";
}

?>

Zuletzt geändert von netwurm am 04.03.2016 09:04, insgesamt 1-mal geändert.
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von tas2580 »

Das geht auch kürzer ;)

Code: Alles auswählen

<?php

define('ROOT_PATH', './');
define('IN_PHPBB', true);

$phpbb_root_path = ROOT_PATH;
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);

if ($user->data['is_registered'])
{
    echo 'angemeldet';
}
else
{
    echo 'nicht angemeldet';
} 
So kannst du die die 2. Datei sparen und musst nicht selber irgend welche DB Anfragen machen oder Cookies lesen.

Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
netwurm
Mitglied
Beiträge: 8
Registriert: 01.03.2016 16:15

Re: 3.1.8 Fehler {LOCAL_URL} Link & Benutzerkennung

Beitrag von netwurm »

Hi, Tobi

vielen Dank für Deinen Post !

So wie ich das bis jetzt analysiert habe wird ein SID Cookie gesetzt welcher nach erfolgreicher Anmeldung 1 Jahr Gültigkeit hat. PHPBB ist Objekt orientiert programmiert d.H ich Schleife bei jeden Zugriff auf die PHPBB-Energie unnötigen Ballast in denn Arbeitsspeicher meiner Cluster-Server, was aus meiner Sicht bei einer stark frequentierten Seite einen künstlichen Flaschenhals erzeugt.

Ich denke die Lösung mit dem Cookie und ein Abgleich der Session-DB ist eine vernünftige Alternative .... wobei ein Cookie auch geklaut werden kann ...
Naja, vielleicht verifiziere ich die ganze Sache noch mit einem separaten Canvas-Fingerprint... bin noch beim überlegen wie ich das geschickt anstellen.

Zumindest ist die Cookie-Lösung eine Möglichkeit zwischen Forum und eigener Anwendung eine Schnittstelle zu schaffen...

Grüße und nochmal Danke
Netwurm
Antworten

Zurück zu „Support-Forum“