ilch Forum » Allgemein » HTML, PHP, SQL,... » Daten an DB übergeben und im Browser aus

Geschlossen
  1. #1
    User Pic
    NickName gelöschter User
    Hallo!


    Kann mir evtl jemand den code ändern, so das die daten (ip,useragent,referer sowie die zeit) an eine tabelle der datenbank gesendet werden:

    <?php
    $remoteaddr    = rawurldecode($_GET['remoteaddr']);
    $httpuseragent = rawurldecode($_GET['httpuseragent']);
    $httpreferer   = rawurldecode($_GET['httpreferer']);
    $url           = rawurldecode($_GET['url']);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Ihnen wird der Zugang zu dieser Website verwehrt.</title>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      </head>
      <body>
        <div align="center">
          <table border="0" align="center" width="600" cellpadding="50">
            <tr>
              <td align="center">
                <big><b>Ihnen wird der Zugang zu dieser Website verwehrt.</b></big>
                <br><br>
                <img src="zugang_verboten.gif" border="0" width="200" height="200" alt="Zugang verboten" title="Der Zugang wird Ihnen verwehrt!">
                <br><br><br>
                <big><?=htmlentities($remoteaddr)?></big>
                <br><br>
                <b><?=htmlentities($httpuseragent)?></b>
              </td>
            </tr>
          </table>
    <?php
    $datei = "counter";
    list($counter) = @file($datei);
    $counter++;
    $open = @fopen($datei,'w');
    if($open) {
      $write = @fwrite($open,$counter);
      @fclose($open);
    }
    ?>
          <big><b><span style="color: #BB0000;"><?=$counter?></span></b></big>
          <br><br>
          Ihre Daten werden zur weiteren Auswertung, Feststellung des Providers und einer eventuellen Übergabe an die zuständige Behörde, gespeichert und analysiert!
        </div>
      </body>
    </html>



    und nen code erstellen, den ich in ner selfpage eintragen kann, um diese daten auszulesen?


    wäre genial nett von euch!


    verwendete ilchClan Version: 1.1

    betroffene Homepage: www.ostberlinerthc.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hey, NickName!

    <?php
    $remoteaddr    = rawurldecode($_GET['remoteaddr']);
    $httpuseragent = rawurldecode($_GET['httpuseragent']);
    $httpreferer   = rawurldecode($_GET['httpreferer']);
    $url           = rawurldecode($_GET['url']);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Ihnen wird der Zugang zu dieser Website verwehrt.</title>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      </head>
      <body>
        <div align="center">
          <table border="0" align="center" width="600" cellpadding="50">
            <tr>
              <td align="center">
                <big><b>Ihnen wird der Zugang zu dieser Website verwehrt.</b></big>
                <br><br>
                <img src="zugang_verboten.gif" border="0" width="200" height="200" alt="Zugang verboten" title="Der Zugang wird Ihnen verwehrt!">
                <br><br><br>
                <big><?=htmlentities($remoteaddr)?></big>
                <br><br>
                <b><?=htmlentities($httpuseragent)?></b>
              </td>
            </tr>
          </table>
    <?php
    $datei = "counter";
    list($counter) = @file($datei);
    $counter++;
    $open = @fopen($datei,'w');
    if($open) {
      $write = @fwrite($open,$counter);
      @fclose($open);
    }
    db_query("INSERT INTO `prefix_iplog` ($remoteaddr,$httpuseragent,$httppreferer,time());
    ?>
          <big><b><span style="color: #BB0000;"><?=$counter?></span></b></big>
          <br><br>
          Ihre Daten werden zur weiteren Auswertung, Feststellung des Providers und einer eventuellen Übergabe an die zuständige Behörde, gespeichert und analysiert!
        </div>
      </body>
    </html>


    DB-Tabelle mit
    ic1_iplog
    erstellen und Zellen mit (Reihenfolge beachten)
    ip varchar(50)
    useragent varchar(250)
    preferer varchar(250)
    time varchar(100)

    Zum auslesen einfach
    $erg = db_query("SELECT * FROM prefix_iplog ORDER by time");
    while ( $row = db_fetch_assoc($erg)){
    // Hier kommt die Ausgabe mit echo ''; hin, je nach dem wie du das haben willst
    }


    Sollte passen!

    Mit böhsen Grüßen
    BöhserDavid
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Nur so Nickname, dir ist klar dass diese Daten sowieso von jedem Aufrufer deiner Seite gespeichert werden?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    NickName gelöschter User
    hi ihr!


    danke für den code, leider gibts ein kleines problem:

    Parse error: parse error, unexpected T_STRING in /xxx/html/hack_block/hack_block_sperre.php on line 39


    eigentlich hast du ja nur eine zeile eingefügt, ich verstehe nicht, was an der zeile 39 falsch sein soll, da diese nich verändert wurde - oder habsch was übersehen???



    @mairu, richtig, aber in der logdatei sind ALLE nutzer gespeichert, ich möchte ja diesen hackblock nutzen und dort nur die potenziellen angreifer in die tabelle haben, damit ich des besser auseinander halten kann zwinker
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also die Abfrage ist eh falsch, also dort wird erstens vergessen den String zu schließen und 2. VALUES bzw. man sollte eigentlich immer die Feldnamen auch mit angeben, da es eine MYSQL Einstellung gibt, die das vorraussetzt (strict oder so).

    EDIT: Achso dann sollte ich es vielleicht noch richtig schreiben zunge
    db_query("INSERT INTO `prefix_iplog` VALUES ($remoteaddr,$httpuseragent,$httppreferer,time()");

    und wie gesagt vor VALUES besser noch die Feldnamen mit eintragen (Feldname1,Feldname2,...)


    Zuletzt modifiziert von Mairu am 10.07.2007 - 15:46:22
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    NickName gelöschter User
    hab doch keine plan davon... HEUL


    hab des nun so gemacht:
    db_query("INSERT INTO `ic1_iplog` (ip,useragent,preferer,time) VALUES ($remoteaddr,$httpuseragent,$httppreferer,time()");


    aber nun kommt dieser fehler:

    Fatal error: Call to undefined function: db_query() in /var/www/web246/html/hack_block/hack_block_sperre.php on line 37

    aber die seite wird angezeigt, der fehler wird halt nun am ende der seite angezeigt


    kannst du mir evtl genauer erklären, was du meinst?!
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ja dann rufst du sie nicht über ilch auf, also mysql_query
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    NickName gelöschter User
    du weisst doch, das ich keine ahnung davon hab traurig

    ich hab des jetzt so interpretiert:

    mysql_query("INSERT INTO `ic1_iplog` (ip,useragent,preferer,time) VALUES ($remoteaddr,$httpuseragent,$httppreferer,time()");


    und die fehler bekommen:

    Warning: mysql_query(): Access denied for user 'www-data'@'localhost' (using password: NO) in /xxx/html/hack_block/hack_block_sperre.php on line 37

    Warning: mysql_query(): A link to the server could not be established in /xxx/html/hack_block/hack_block_sperre.php on line 37


    kannst du nicht bitte den kompletten code posten, so das es dann auch funzt?!
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ja ok jetzt fehlt natürlich die Datenbankverbindung zunge
    Wie wird die Datei denn auferufen, das einfachste wäre schon, wenn das durch ilch geschieht, wenn nicht dann schreib halt nochmal wo die Datei relativ zu ilch liegt, dann kann ich dir das machen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    NickName gelöschter User
    also gut, die Dateien liegen in html/hack_block/ (ilch-index liegt in html/)




    die datei die wir die ganze zeit versuchen zu bearbeiten ist die hack_block_sperre.php

    das is ja nur um die daten an die db zu übertragen, auslesen möchte ich die daten dann am besten per ilch (selfp), damit ich des auf admins beschränken kann

    ich hoffe die angaben reichen, kann aber natürlich fehlende nachreichen


    vielen dank schon mal im vorraus


    PS: hier nochn screen von der tabelle (hoffe, die is wenigstens richtig erstell)




    Zuletzt modifiziert von NickName am 10.07.2007 - 22:29:25
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja die Tabelle hast du ja so erstelle wie boehserdavid es geschrieben hat, ich würde allerdings für time was anderes als varchar vorschlagen, also man sollte entweder ein Zeitformat nehmen oder ne Zahl, also benutze dafür mal integer, werde das so im Code machen.

    Ok dann hier mal deine Datei.
    <?php
    $remoteaddr    = rawurldecode($_GET['remoteaddr']);
    $httpuseragent = rawurldecode($_GET['httpuseragent']);
    $httpreferer   = rawurldecode($_GET['httpreferer']);
    $url           = rawurldecode($_GET['url']);
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Ihnen wird der Zugang zu dieser Website verwehrt.</title>
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
      </head>
      <body>
        <div align="center">
          <table border="0" align="center" width="600" cellpadding="50">
            <tr>
              <td align="center">
                <big><b>Ihnen wird der Zugang zu dieser Website verwehrt.</b></big>
                <br><br>
                <img src="zugang_verboten.gif" border="0" width="200" height="200" alt="Zugang verboten" title="Der Zugang wird Ihnen verwehrt!">
                <br><br><br>
                <big><?=htmlentities($remoteaddr)?></big>
                <br><br>
                <b><?=htmlentities($httpuseragent)?></b>
              </td>
            </tr>
          </table>
    <?php
    $datei = "counter";
    list($counter) = @file($datei);
    $counter++;
    $open = @fopen($datei,'w');
    if($open) {
      $write = @fwrite($open,$counter);
      @fclose($open);
    }
    require_once('../include/includes/config.php');
    require_once('../include/includes/func/db/mysql.php');
    db_connect();
    db_query("INSERT INTO `prefix_iplog` (ip,useragent,preferer,time) VALUES ($remoteaddr,$httpuseragent,$httppreferer,UNIX_TIMESTAMP()");
    db_close();
    ?>
          <big><b><span style="color: #BB0000;"><?=$counter?></span></b></big>
          <br><br>
          Ihre Daten werden zur weiteren Auswertung, Feststellung des Providers und einer eventuellen Übergabe an die zuständige Behörde, gespeichert und analysiert!
        </div>
      </body>
    </html>


    Den Teil mit dem Counter ->
    $datei = "counter";
    list($counter) = @file($datei);
    $counter++;
    $open = @fopen($datei,'w');
    if($open) {
      $write = @fwrite($open,$counter);
      @fclose($open);
    }
    kannst du eigentlich löschen, das kann man dann auch aus der Datenbank abfragen, musst du aber selbst wissen, ob du es lieber noch in einer Datei haben willst.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    NickName gelöschter User
    hallo Mairu!


    danke für den code, leider funzt des auch nicht so, wie es sollte...

    die Seite mit der Warnung wird angezeigt, aber folgende Fehlermeldungen erscheinen ganz unten:


    Warning: main(hack_block/hack_block.php): failed to open stream: No such file or directory in /var/www/web246/html/include/includes/config.php on line 3

    Warning: main(): Failed opening 'hack_block/hack_block.php' for inclusion (include_path='.') in /var/www/web246/html/include/includes/config.php on line 3
    no direct access

    in die datenbank wird auch nix geschrieben traurig


    in der config.php hatte ich ja den code für hackblock eingefügt (soll man ja in einige Dateien einfügen):

    Zeile1: <?php
    Zeile2: //---> Angriffe blocken
    Zeile3: include("hack_block/hack_block.php");
    Zeile4://---> Angriffe blocken

    die zeilennummern hab ich extra eingefügt


    doch wenn ich diesen code lösche, kommt folgendes:



    und es wird auch nix in die db eingetragen???

    was läuft denn da falsch? muss ich die hackblock-dateien evtl doch in nen ilch-ordner einfügen?



    PS: den counter brauch ich noch in ner extra Datei, is einfacher für mich des in einer box auszugeben zwinker


    Zuletzt modifiziert von NickName am 11.07.2007 - 15:15:51
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Achja vergessen, füge noch define('main',TRUE); über die require_once Zeilen ein.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    NickName gelöschter User
    nachdem ich des eingefügt hab musste ich den oben genannten code aus der config.php löschen - nun wird zwar alles richtig angezeigt, leider wird aber nix an die datenbank gesendet bzw es kommt nix an (wie auch immer, nix da) traurig

    in der db steht auch irgendwas von wegen keine index vorhanden - hab ich die doch falsch erstellt???

    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also INT 100 ist ein wenig viel, stell mal 13 oder so ein, und dass es kein INDEX gibt passt schon.
    Weiter solltest du auf Fehlersuche gehen, dazu bei unter der db_query Zeile mal echo mysql_error(); schreiben, dann sollte der Fehler der beim Eintragen passiert angezeigt werden und uns weiterbringen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    NickName gelöschter User
    ok, time habsch auf 15 und dies ist des echo:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.190.188,Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.4

    sehen kannste es unter www.ostberlinerthc.de/index.php?news<test>


    PS: beim ie kommt dies:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.190.188,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;


    Zuletzt modifiziert von NickName am 11.07.2007 - 17:13:14
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ja ist klar, warum bin ich nur so dumm zunge
    db_query("INSERT INTO `prefix_iplog` (ip,useragent,preferer,time) VALUES ('$remoteaddr','$httpuseragent','$httppreferer',UNIX_TIMESTAMP()");
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    NickName gelöschter User
    wieder ein anderer fehler:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 47
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Oh mann da fehlt noch ne schließende Klammer vor dem " am Ende.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    NickName gelöschter User
    ohja... ich hab selbst mehrfach bei den klammern gesucht, aber mir ist es nicht aufgefallen traurig - nun funzt es wunderbar... DANKE


    ACHSO, doch nich ganz:

    die zeit wird so komisch angezeigt - warum steht da nich des datum und die zeit sondern nur der timestamp?




    <?php
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: HackBlock';
    $hmenu = 'HackBlock';
    
    echo'HackBlock';
    echo'<p>&nbsp;</p>';
    echo'
    <div align="center">
      <center>
      <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="550" height="39">
        <tr>
          <td align="center" height="50" width="137" bgcolor="#808080"><b>Zeit</b></td>
          <td align="center" height="50" width="137" bgcolor="#808080"><b>IP</b></td>
          <td align="center" height="50" width="137" bgcolor="#808080"><b>Browser</b></td>
          <td align="center" height="50" width="137" bgcolor="#808080"><b>Preferer</b></td>
        </tr>
        </table>
      </center>
    </div>
    ';
    
    $erg = db_query("SELECT * FROM prefix_iplog ORDER by time");
    while ( $row = db_fetch_assoc($erg)){ 
       echo'
    <div align="center">
    <center>
      <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="550" height="39">
        <tr>
          <td align="center" height="25" width="137">'.$row['time'].'</td>
          <td align="center" height="25" width="137">'.$row['ip'].'</td>
          <td align="center" height="25" width="137">'.$row['useragent'].'</td>
          <td align="center" height="25" width="137">'.$row['preferer'].'</td>
        </tr>
      </table>
      </center>
    </div>
    ';
    }
    
    ?>



    Zuletzt modifiziert von NickName am 12.07.2007 - 04:49:17
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Statt $row['time'] mal
    date('d.m.Y - H:i \U\h\r',$row['time'])
    versuchen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    NickName gelöschter User
    hey nice... funzt wunderbar

    vielen dank für die ganze hilfe hierbei!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten