SSL Zwang mit Ausnamen?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

SSL Zwang mit Ausnamen?

Beitrag von Dungeonwatcher »

Hi! 8)

Ich möchte meinem Forum eine Zwangsverschlüsselung per SSL verpassen. Das funktioniert mit diesem Eintrag in der .htaccess auch perfekt:

Code: Alles auswählen

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Allerdings möchte ich das einige wenige feste IP Adressen davon ausgenommen werden.
Wie müsste das aussehen?

Bye
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: SSL Zwang mit Ausnamen?

Beitrag von Miriam »

Ich wüßte jetzt im Moment nicht, wie es per .htaccess funktionieren sollte, aber Du kannst es so machen:

finde in der /includes/session.php
  • Code: Alles auswählen

            // Does the user need to change their password? If so, redirect to the
            // ucp profile reg_details page ... of course do not redirect if we're already in the ucp      
davor füge ein:
  • Code: Alles auswählen

            /* BEGIN redirect user */
    
            $no_redirect_url = array('192.168.0.1', '10.1.1.1', 'fe80::f565:9162:69fa:97a4'); // <-- hier kommen die _nicht_ umzuleitenden IPs rein
    
            if (!in_array($_SERVER['REMOTE_ADDR'], $no_redirect_url) AND !(isset($_SERVER['HTTPS']) AND ($_SERVER['HTTPS'] == 1 OR strtolower($_SERVER['HTTPS']) == 'on')))
            {
                $url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
    
                if(!empty($_SERVER['QUERY_STRING'])) 
                {
                    $url .= '?' . $_SERVER['QUERY_STRING'];
                }
    
                if(!headers_sent())
                {
                    header('Location: ' . $url);
                }
            }
    
            /* END redirect user */ 
Nun werden alle nicht aufgeführten IP Adressen werden auf den https:// Aufruf Deines Forums umgeleitet.

User mit IP Adressen, die über http:// surfen sollen, können das Forum auch mittels https:// in der URL aufrufen. Diese können das also selbst entscheiden; die anderen nicht, die werden immer über https:// auf Deinem Board surfen müssen, egal, ob dieses mittels http:// aufrufen oder nicht.

Es wird nicht geprüft, ob eine SSL Verbindung möglich ist oder nicht.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Re: SSL Zwang mit Ausnamen?

Beitrag von Dungeonwatcher »

Hi! 8)

Hmmm, das liest sich doch gut und entspräche auch meinen Vorstellungen. THNX

Nun kommt aber der Haken welchen ich vergessen hatte zu erwähnen. Mit der .htaccess wäre es ja egal gewesen aber in php halt nicht. Das ganze soll mit phpBB 2 .* funktionieren. Da finde ich nichts passendes in der session.php? :roll:

Bye
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: SSL Zwang mit Ausnamen?

Beitrag von Miriam »

Was ist denn phpBB2? :o


Aber, hey.... mach es so:
  • finde in der /includes/functions.php:
    • Code: Alles auswählen

      function init_userprefs($userdata)
      {
          global $board_config, $theme, $images;
          global $template, $lang, $phpEx, $phpbb_root_path, $db;
          global $nav_links; 
    danach setze ein:
    • Code: Alles auswählen

          /* BEGIN redirect user */
      
          $no_redirect_url = array('192.168.0.1', '10.1.1.1', 'fe80::f565:9162:69fa:97a4'); // <-- hier kommen die _nicht_ umzuleitenden IPs rein
      
          if (!in_array($_SERVER['REMOTE_ADDR'], $no_redirect_url) AND !(isset($_SERVER['HTTPS']) AND ($_SERVER['HTTPS'] == 1 OR strtolower($_SERVER['HTTPS']) == 'on')))
          {
              $url = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
      
              if(!empty($_SERVER['QUERY_STRING'])) 
              {
                  $url .= '?' . $_SERVER['QUERY_STRING'];
              }
      
              if(!headers_sent())
              {
                  header('Location: ' . $url);
              }
          }
      
          /* END redirect user */  
Enjoy.

P.S.: Ich muß (hoffentlich) nicht erwähnen, daß Du diese Zeile nach Deinen Vorgaben anpassen mußt ->
    • Code: Alles auswählen

      $no_redirect_url = array('192.168.0.1', '10.1.1.1', 'fe80::f565:9162:69fa:97a4'); // <-- hier kommen die _nicht_ umzuleitenden IPs rein  
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Re: SSL Zwang mit Ausnamen?

Beitrag von Dungeonwatcher »

Hi! 8)
Miriam hat geschrieben:Was ist denn phpBB2? :o
Naja, phpBB in der Version 2.*.
Aber, hey.... mach es so:
Perfekt, das funktioniert. THNX
P.S.: Ich muß (hoffentlich) nicht erwähnen, daß Du diese Zeile nach Deinen Vorgaben anpassen mußt ->
    • Code: Alles auswählen

      $no_redirect_url = array('192.168.0.1', '10.1.1.1', 'fe80::f565:9162:69fa:97a4'); // <-- hier kommen die _nicht_ umzuleitenden IPs rein     
Nö, brauchtest du nicht. Die Zeile verstehe sogar ich. :wink:

Danke für deine schnelle Hilfe.

Bye
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: SSL Zwang mit Ausnamen?

Beitrag von gn#36 »

Mit Mod Rewrite kannst du die Client IP übrigens per %{REMOTE_ADDR} abfragen:
http://www.randomsequence.com/articles/ ... t-your-ip/

Code: Alles auswählen

# Redirect everyone who's not from your IP
RewriteCond %{REMOTE_ADDR} !123.456.789.10 [NC]
# Allow real files to be served
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !maintenance.html$ maintenance.html [R=307,L]
Eignet sich vom Konzept her auch prima, um bei Umbaumaßnahmen eine Wartungsseite anzuzeigen während du selbst alles problemlos testen kannst...
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Re: SSL Zwang mit Ausnamen?

Beitrag von Dungeonwatcher »

Moin! 8)
gn#36 hat geschrieben:Mit Mod Rewrite kannst du die Client IP übrigens per %{REMOTE_ADDR} abfragen:
Danke für den Tipp.

Im Zusammenhang meines Umrüstens auf SSL Zwang habe ich mir mal diesen Artikel zu Herzen genommen. Ich kann nur jedem SSL Betreiber empfehlen diesen Test zu machen. Ganz besonders sollten sich die Betreiber dieses Forums dies mal tuen. Dieses Forum ist nämlich auch von Drei Fehlern/Problemen beim SSL Einsatz betroffen.

--> SSL Report: http://www.phpbb.de

Bye
Antworten

Zurück zu „Coding & Technik“