Ankündigung

Einklappen
Keine Ankündigung bisher.

Besucher Sperre von der Webseite.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Besucher Sperre von der Webseite.

    Guten Morgen ihr Lieben,

    folgendes Problem habe ich mit meiner Besucher Sperre:
    Alertfenster meldet "1Deine IP-Adresse wurde auf unserem System gesperrt!".
    sobald ich eine Ip Sperre. Wie bekomme ich die 1 weg ?

    Und warum steht ganz unten auf der Seite, wenn man gesperrt ist,
    "Deine IP-Adresse wurde auf unserem Chatsystem gesperrt!" hier sieht man die 1 nicht komisch oder?

    Viele Grüße,
    Erdbeer

    index.php
    PHP-Code:
    <?php
    // class Loader - function
    function classLoader($class_name){
            
        if (
    substr($class_name05)=="Admin")
            require_once (
    'class/admin/'.$class_name.'.class.php');        
        elseif (
    substr($class_name07)=="Install")
            require_once (
    'class/install/'.$class_name.'.class.php');
        elseif (
    file_exists('class/'.$class_name.'.class.php'))
            require_once (
    'class/'.$class_name.'.class.php');
        else 
            return 
    false;



    // register the loader functions
    spl_autoload_register('classLoader');

    // just if you have a __autoload
    // spl_autoload_register('__autoload');

    $get_var array_keys($_GET);
    $init_class = (!empty($get_var[0])) ? $get_var[0] : "Index";

    if(!
    class_exists($init_class)) {
        require(
    'styles/white/unterseiten/'.strtolower($init_class).'.tpl.html');
        exit;
    }

    // XSS safety
    if (preg_match('/^[A-Za-z0-9_\-]+$/i',$init_class))
        
    // initialise
        
    new $init_class;
    else
        echo 
    "Not allowed sign in the class name!";
        
    $currentAddress $_SERVER['REMOTE_ADDR'];

    // IP Validieren
    function isBanned$ipAdressString$banlistFile 'doc/ipbans.data'$entrySep "\r\n" ) {
       
    $inboundIPArray explode('.'trim($ipAdressString));

       if ( 
    is_readable($banlistFile) ) {
          
    // load file
          
    $banlist file_get_contents($banlistFile);

          
    // create array of contents
          
    $banlistArray explode($entrySep$banlist);

          
    // filter IPs, exclude corrupt definitions from banlist
          
    foreach ( $banlistArray as $key => &$entry ) {
             
    $entry explode('.'trim($entry));
             if ( 
    count($entry) != ) unset($banlistArray[$key]);
          }

          
    // process current ip
          
    foreach ( $banlistArray as $item ) {
             
    $current = array();
             foreach ( 
    $item as $boundPos => $ipToken ) {
                if ( (int)
    $ipToken == (int)$inboundIPArray[$boundPos] || $ipToken == '*' )
                   
    $current[$boundPos] = 1;
                else 
    $current[$boundPos] = 0;
             }
             if ( 
    array_sum($current) == ) return true;
          }
       }
       return 
    false;
    }

    if ( 
    isBanned$currentAddress ) ) echo 'Deine IP-Adresse wurde auf unserem System gesperrt!';
    else 
    'Willkommen :)';
    ?>

  • #2
    Unten erscheint keine 1 weil in dem echo auch keine solche Ausgabe ist.
    Warum sie oben erscheint könnte man, aufgrund fehlendem Source, nur erraten. Meine Glaskugel ist jedoch defekt.

    Kommentar


    • #3
      Zitat von DonManfred Beitrag anzeigen
      Unten erscheint keine 1 weil in dem echo auch keine solche Ausgabe ist.
      Warum sie oben erscheint könnte man, aufgrund fehlendem Source, nur erraten. Meine Glaskugel ist jedoch defekt.
      Ich bin recht Anfänger was Php betirfft, ich möchte gerne Ernstgemeinte Antworten haben, sowas brauche ich nicht. Ich möchte gerne wiessen, woran das liegt.

      Kommentar


      • #4
        Sonst alles klar oder?

        Das war wohl eine ernstgemeinte Antwort! Wie sollen wir n Problem finden wenn du den relevanten Code nicht schreibst!

        (Achja, meine Kugel is ebenfalls defekt).

        => Grundlagen!

        Kommentar


        • #5
          Zitat von Erdbeer Beitrag anzeigen
          Alertfenster meldet "1Deine IP-Adresse wurde auf unserem System gesperrt!".
          Alert ist JavaScript. Du hast zwar Code gepostet, ist allerdings unvollständig. Poste deinen JS Code, dann kann dir geholfen werden.

          Kommentar


          • #6
            Zitat von Erdbeer Beitrag anzeigen
            ... ich möchte gerne Ernstgemeinte Antworten haben, ...
            Debugge "deinen" Code.

            Kommentar


            • #7
              Außerdem eine Besuchersperre anhand einer IP Sperre ist so oder so Sinnfrei.
              Auch den Hinweis via Javascript auszugeben ist nicht grad Anwender freundlich, was wenn der Javascript deaktiviert hat?

              Kommentar


              • #8
                Ich vermute da befindet sich eine Ausgabe vorher (Kontrollausgabe oder so...), die den boolschen Wert true ausgibt. Das wird dann als 1 intepretiert.

                Kommentar


                • #9
                  Nun hier ist die Javascript Datei.
                  login.js
                  PHP-Code:
                  window.onload = function() {

                  // only needed becouse of a bug in ie8 rc1, there is no BG-image without any div manipilation by js
                  Element.show('lay_pw');
                  Element.hide('lay_pw');
                  //-------------------------------------------

                    
                  $("login").onsubmit = function(){

                      var 
                  verbotene_woerter = /arsch|eadmins|nazi|arsch|hitler|hure/i;
                      if( $(
                  "username").value.search(verbotene_woerter)!=-1) { alert('Unerlaubte Wortkombinationen im Namen.'); return false; }

                      if(
                  $F('gender')=='n') {
                      
                  alert('Du musst ein Geschlecht auswaehlen!');
                      return 
                  false;
                      }
                      
                      if(!$(
                  'check').checked) {
                      
                  alert('Du musst die Regeln akzeptieren bevor Du Dich einloggen kannst!');
                      return 
                  false;
                      }

                      if (!
                  Element.visible('lay_pw')) $('pw').value='';
                      $(
                  'submit_button').disabled true;

                      var 
                  myAjaxObj= new Ajax.Request(
                                   
                  "./?CheckUserName",
                                   {
                                    
                  onSuccess: function(ajaxResult) {
                                       if (
                  ajaxResult.responseText==1location.href='./?Chat';
                                       else{
                                              $(
                  'submit_button').disabled false;
                                              if (
                  ajaxResult.responseText=='pw' || ajaxResult.responseText=='pw+invisible') {
                                                       
                  Element.show('lay_pw');
                                                      if (
                  ajaxResult.responseText=='pw+invisible'Element.show('lay_invisible');
                                                       
                  Element.hide('lay_gender');
                                                       $(
                  "pw").focus();
                                              } else {
                                                   if (
                  ajaxResult.responseText=='blacklist'location.href="./?AfterBlacklistInsertion";
                                                   else if(!
                  ajaxResult.responseText.empty()) alert(ajaxResult.responseText);
                                                  else {
                                                      $(
                  'username').value='';
                                                      $(
                  'username').focus();
                                                      }
                                                   }
                                           }
                                       },
                                    
                  postBody: $("login").serialize()
                                   }
                          );

                      return 
                  false;
                    }

                  Kommentar


                  • #10
                    Zitat von litterauspirna Beitrag anzeigen
                    Außerdem eine Besuchersperre anhand einer IP Sperre ist so oder so Sinnfrei.
                    Auch den Hinweis via Javascript auszugeben ist nicht grad Anwender freundlich, was wenn der Javascript deaktiviert hat?
                    Dann würde der Besucher/User garnicht in den Chat gelangen.

                    Kommentar


                    • #11
                      Ausgaben erzeugen nur echo, print* und var_dump. Also suche entsprechnde Stellen. Oftmals ist ein Konstruct wie

                      echo $var = foo();

                      schuld.

                      Kommentar


                      • #12
                        Zitat von nikosch Beitrag anzeigen
                        Ausgaben erzeugen nur echo, print* und var_dump. Also suche entsprechnde Stellen. Oftmals ist ein Konstruct wie

                        echo $var = foo();

                        schuld.
                        Die Ausgabe läuft über echo
                        Habe nach den entsprechenden Stellen gesucht, leider wurde ich nicht fündig.

                        Kommentar


                        • #13
                          Zitat von Erdbeer
                          Habe nach den entsprechenden Stellen gesucht, leider wurde ich nicht fündig.
                          Dann such bitte nochmal! Die 1 wird da nicht durch mystische Interpreterkräfte hingezaubert...
                          Arbeitest Du mit include bzw. require? Dann prüfe auch die Dateien, die Du damit einbindest!

                          Kommentar


                          • #14
                            Zitat von Erdbeer Beitrag anzeigen
                            Code:
                            onSuccess: function(ajaxResult) {
                              if (ajaxResult.responseText==1) location.href='./?Chat';
                              else{
                                $('submit_button').disabled = false;
                                if (ajaxResult.responseText=='pw' || ajaxResult.responseText=='pw+invisible') {
                                  Element.show('lay_pw');
                                  if (ajaxResult.responseText=='pw+invisible') Element.show('lay_invisible');
                                  Element.hide('lay_gender');
                                  $("pw").focus();
                                } else {
                                  if (ajaxResult.responseText=='blacklist') location.href="./?AfterBlacklistInsertion";
                                  else if(!ajaxResult.responseText.empty()) alert(ajaxResult.responseText);
                                  else {
                                    $('username').value='';
                                    $('username').focus();
                                  }
                                }
                              }
                            }
                            Das kann so aber auch net wirklich funktionieren...
                            Du hast 2 mögliche Rückgaben
                            PHP-Code:
                            if ( isBanned$currentAddress ) ) echo 'Deine IP-Adresse wurde auf unserem System gesperrt!';
                            else 
                            'Willkommen :)'
                            und Fakt ist hier, dass du mit deinem Request dieses Skript anschuckst um dann den response 'Deine IP-Adresse wurde auf unserem System gesperrt!' zu bekommen, nur wo da die 1 herkommen soll? da du am anfang aber auf 1 prüfst, würde ich meinen, dein skript gibt irgendwo eine 1 zurück und am ende wird das dann um deine Ausgabe erweitert... Also entweder nochmal überdenken, oder nach erfolg mit exit() aus dem Skript aussteigen...

                            Kommentar

                            Lädt...
                            X