Ergebnis 1 bis 10 von 10

Thema: ID's für Forum sperren

  1. #1
    mirko2002
    Gast

    Standard ID's für Forum sperren

    Hallo,

    ich habe mal ein Problem

    *Kurze Hintergrundinfo: Ich nutze bereits ein fertiges Forum welches ich nach und nach meinen Bedürfnissen anpasse*

    Also.. das Forum ist so aufgebaut das jeder User das Forum betreten kann und die ganzen Unterforen sieht (wie in jedem forum )
    Bestimmte Ränge sind so vergeben das mit dem Rang "versteckte" Foren angezeigt werden die normalen Usern verborgen bleiben.

    In PHP Form sieht das ganze so aus:

    Code:
    if($user['id']>0)$queryparts = "
        SELECT f_categories.*,f_forums.*,f_topics.topic_name,f_topics.last_poster,f_topics.last_post,f_markread.* FROM f_categories 
        JOIN f_forums ON f_categories.cat_id=f_forums.cat_id 
        LEFT JOIN f_topics ON f_forums.last_topic_id=f_topics.topic_id 
        LEFT JOIN f_markread ON (f_markread.marker_forum_id=f_forums.forum_id AND f_markread.marker_member_id=".$user['id'].") 
    ";else$queryparts = "
        SELECT f_categories.*,f_forums.*,f_topics.topic_name,f_topics.last_poster,f_topics.last_post FROM f_categories 
        JOIN f_forums ON f_categories.cat_id=f_forums.cat_id 
        LEFT JOIN f_topics ON f_forums.last_topic_id=f_topics.topic_id 
    ";
    if($user['g_forum_moderate']!=1)$queryparts .= "
        WHERE hidden!=1 
    ";
    Ab dem untersten IF sieht man das dort der Befehl kommt wenn die ID der Tabelle 1 beträgt das die versteckten Foren dann angezeigt werden.
    Soweit klappt auch alles.

    Das Problem ist aber wenn jemand die ID des Forums weiß kann er Problemlos das Unterforum aufrufen indem er die URL manuell eingibt obwohl er nicht den Status 1 hat - denn dieser verhindert ja lediglich das in der Forumübersicht diese Foren angezeigt werden.

    Nun weiß ich nicht was ich machen kann damit User "gesperrt" werden wenn sie versuchen diese Forenkategory aufzurufen.

    Ich hatte schon Ansätze probiert wie dies hier:

    Code:
    else{
            output_message('alert',$lang['youhavenorights']);
            $req_tpl = false;
        }
    Aber komme damit nicht so wirklich weiter....
    Kann mir hier wer Hilfestellung geben? Ein User der Seite (der übrigens diese Sicherheitslücke herausfand) teilte mir mit ich solle sowas mit Session Id's machen.. aber da versteh ich dann doch wieder nur Bahnhof wie man sowas in ein fertiges System implentieren kann
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    bau einfach beim anzeigen der foren und beiträge noch die selbe bedinung ein....

  3. #3
    Gast

    Standard

    Ja das hatte ich auch schon überlegt nur die ID des jeweiligen Unterforums ist ja in der DB hinterlegt und nicht in der entsprechenden php-Datei. Wie kann ich in der PHP Datei es also so verfassen das er nur bei Aufruf einer ganz bestimmten ID die Prüfung macht das die Rechte vorliegen und demnach den User rein läßt oder ggf. die Fehlermeldung mit else ausgibt?
    Code:
    else{ 
            output_message('alert',$lang['youhavenorights']); 
            $req_tpl = false; 
        }

  4. #4
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    jedes forum hat doch von haus aus so zugriffsrechte oder??

    um welches board handelt es sich??

  5. #5
    Gast

    Standard

    Nicht so wirklich
    dieses Forum ist ein halbwegs zusammengeschustertes Forum welches nicht viele Funktionalitäten beinhaltet.
    Ist also nicht sowas wie Wotlab und Phpbb und was es da alles gibt.
    Die eizigen Einstellungen die man machen skann sind wirklich nur:

    - Forenkategorie erstellen
    - Unterkategorie erstellen
    - und angeben ob Forum versteckt oder öffentlich sein soll

    Also gegenübr anderen Fertigforen ist dies doch eher rar ausgestattet. Reicht für meine Zwecke aber.
    Eine direkte Benutzerkontensteuerung gibt es demnach nicht für das Forum.
    Ich kann lediglich User als Mitglied oder als Admin eintragen und je nachdem was beim User aktiv ist handelt das Forum dementsprechend und zeigt die versteckten Foren an oder nicht.

  6. #6
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ja is schwierig für irgend ein forum einen code zu schreiben...

    Ich mein wir kennen die Struktur ja gar nicht usw... also vllt. hilft dir der Programmierer dieses Forums oder gibt es ein spezielles Support Forum?

  7. #7
    Gast

    Standard

    Leider nicht - Supportforum gibt es zwar - allerdings ohne Regung. Offiziell ist er zwar nicht eingestellt aber seit ungefähr Mai regt sich da gar nichts mehr

    Struktur der DB ansich kann man ja oben im ersten Posting entnehmen wo die DB Abfrage durchläuft...
    Gibt es nicht irgendwie die möglichkeit einzustellen wenn der User das Forum mit der ID (z.B.) 9 aufruft das dann die Abfrage gemacht wird ob berechtigungen vorliegt?

  8. #8
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    so in etwa, nur musst du mal die db etc durchsehn, ob die namen ok sind so, des weiss ich ja nich:

    Code:
    <?php
    if&#40;$user&#91;'id'&#93; == 0&#41; &#123;
      $query = "SELECT sichtbarkeit FROM f_forums WHERE id = '".$_GET&#91;'id'&#93;."';
       $result = mysql_query&#40;$query&#41;;
       if&#40;$result&#91;'sichtbarkeit'&#93; == "hidden"&#41; &#123;
          die&#40;"keine berechtigung
    ";
       &#125;
    &#125;
    ?>
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  9. #9
    Gast

    Standard

    Zitat Zitat von BendOr
    so in etwa, nur musst du mal die db etc durchsehn, ob die namen ok sind so, des weiss ich ja nich:

    Code:
    <?php
    if&#40;$user&#91;'id'&#93; == 0&#41; &#123;
      $query = "SELECT sichtbarkeit FROM f_forums WHERE id = '".$_GET&#91;'id'&#93;."';
       $result = mysql_query&#40;$query&#41;;
       if&#40;$result&#91;'sichtbarkeit'&#93; == "hidden"&#41; &#123;
          die&#40;"keine berechtigung
    ";
       &#125;
    &#125;
    ?>
    Ahhh.. das ganze kommt den schon nahe wenn ich mir das angucke... da ich selber aber nur teilweise verstehe was welcher Befehl verursacht scheitert leider meine Kentniss selbst an dem obigen "Ansatz".

    Ich geb mal eben die DB Struktur durch das man sieht wie sie aufgebaut ist.. daran sollte man einfach erkennen können wie sie funktioniert

    Also.. die erste wichtige Tabelle heißt: "account_groups". Das ist sozusagen die Tabelle in der die Benutzergruppen stehen.. wie "Gast", Mitglied" "Vorstand" etc pp.. also alle Ränge. Neben den Gruppen ID's und den Gruppennamen gibt es dort auch eine Spalte die sich "g_forum_moderate" nennt. Dort wird lediglich 0 bzw 1 eingetragen. Der Name der Spalte sagt ja schon aus ob diese Gruppe das Forum moderieren darf bzw eben die versteckten Foren einsehen kann (1) oder nicht (0).

    Nächste wichtige Tabelle ist für Forum selber: "f_forums" Dort werden die Foren-Id's festgelegt, die Forennamen, Moderatoren etc pp.
    Eine Spalte dort heißt "hidden" und kann ebenfalls nur mit 0 oder 1 belegt werden. Dies gibt an ob das Forum sichtbar (0) oder versteckt (1) ist.

    So.. aus diesen beiden Tabellen/Spalten muß ein Kuddelmuddel entstehen das fuktioniert

    Das o.g. Bsp von Bend0r bezieht dabei auf die User id - das in diesem Fall irrelevant ist da nicht die User id sondern die Gruppen ID vorgesehen ist ob Forum angezeigt wird oder nicht.
    Leider pack ich des dennoch nicht trotz des schon guten Beispiels oben, etwas vernünftiges daraus zu basteln was funktioniert

    Wobei ich denke das diese Variante nur etwas angepasst werden müßte mit den Tabellenangaben die ich hier eben geschrieben habe.

    MfG
    ein verzweifelter Foren"zerstörer"

  10. #10
    Gast

    Standard

    Hat hier keiner weiter noch ein Tip für mich?
    Hab die Tage verzweifelt versucht den o.g. Script für mich anzupassen... irgendwie stell ich mich wohl zu Blöd dafür an denn ich habs nie hinbekommen

Ähnliche Themen

  1. php id's
    Von gelöschter User im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 40
    Letzter Beitrag: 07.04.2008, 16:02
  2. VB : Programm ID's
    Von LordHexa im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 05.08.2004, 15:02
  3. upload sperren
    Von mog2002 im Forum Computer - Internet Forum
    Antworten: 7
    Letzter Beitrag: 02.04.2004, 22:41

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •