+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Intranet Template

  1. #1
    Wohnt hier Avatar von cylance
    Registriert seit
    10.11.2010
    Beiträge
    2.313
    Bedankte sich
    189
    Erhielt 592 Danksagungen
    in 562 Beiträgen

    Standard Intranet Template

    Oftmals steht man vor dem Problem auf seiner Website auch Inhalte für das Intranet anbieten zu wollen. Für folgenden Lösungsvorschlag sind diese Voraussetzungen zu erfüllen:

    Inhalte die nur Intern sichtbar sein sollen sind über Menüs auf ein eigenes Template zu linken.
    In dieses Template ist folgender Code einzufügen

    PHP-Code:

    <?php
    //IP-Adresse lesen (funktioniert eigentlich bei jedem Server so)
    if (isset($_SERVER['REMOTE_ADDR'])) $ip=$_SERVER['REMOTE_ADDR']; else $ip="0.0.0.0";


    /**
     * compare given ip with a range
     * e.g. [0-255].[0-255].[0-255].[0-255] covers ip like 192.169.1.1
     * e.g. [192].[168].[1].[0-255] cover ip like 192.168.1.0-255
     * e.g. [192].[168].[1].[128] cover only ip 192.168.1.128
     *
     * @param string ip to check e.g. 192.168.0.1
     * @param string range to check for e.g. [0-255].[0-255].[0-255].[0-255]
     * @return bool
     */
    function validateIpV4Range ($target$range) {
        
    $counter = (int) 0;
        
    // explode target ip
        
    $tip explode ('.'$target);
        
    // explode range ip
        
    $rip explode ('.'$range);
        
    // run ip segments
        
    foreach ($tip as $targetsegment) {
            
    // get appropriate range segm.
            
    $rseg $rip[$counter];
            
    // strip brackets
            
    $rseg preg_replace ('=(\[|\])='''$rseg);
            
    // explode min max
            
    $rseg explode ('-'$rseg);
            
    // no max value
            
    if (!isset($rseg[1]))
                
    $rseg[1] = $rseg[0];
            
    // compare
            
    if ($targetsegment $rseg[0] || $targetsegment $rseg[1])
                return 
    false;
            
    $counter++;
        }
        return 
    true;
    }


    // CHECK ACCESS if User is logged in
    global $gid// Joomla1.5
    $gid intval$my->gid );
    $username $my->username;




    if ( 
    $gid == // Adminaccess
        
    {
    echo 
    "Sie sind ein Admin. Username = ";
    echo 
    $username;
     echo 
    '  OK. Proceeding ...';
    echo 
    $ip ;
    ?>
                        <br><br>    <jdoc:include type="component" />

    <?php
        
    }



    else if ( 
    $gid == // registered User
        
    {
    echo 
    "Sie sind ein registrierter User";
    echo 
    $username;
     echo 
    '  OK. Proceeding ...';
    echo 
    $ip ;
    ?>
                        <br><br>    <jdoc:include type="component" />

    <?php


        


    else if ( 
    $gid == // not logged in
    {
    echo 
    "Sie sind ein nicht eingeloggter User.   ";

    ?>

    Pr&uuml;fe IP : &nbsp;

    <?php     // proceed to check IP-Range

    if (validateIpV4Range($ip'[192-192].[168-168].[0-0].[0-255]'))  //192.168.0.*
            
    {
     echo 
    'OK. Range 192.168.0.0-255 Internal. Proceeding ...';
    echo 
    $ip ;
    ?>
                        <br><br>    <jdoc:include type="component" />

    <?php
            
    }

    else if (
    validateIpV4Range($ip'[192-192].[168-168].[1-1].[0-255]'))  //192.168.1.*
            
    {
     echo 
    'OK. Range .48.0-255 Internal. Proceeding ...';
    echo 
    $ip ;
    ?>
                        <br><br>    <jdoc:include type="component" />

    <?php
            
    }


    else    
    // IP Range not matching  and no User logged in private Site
        
    {
     echo 
    'External :  ';
     echo 
    '  OK. Proceeding ...';
    echo 
    $ip ;
    ?>
    <br><br>

    <h2>Interne Informatinen</h2>

    Um diesen Bereich einsehen zu k&ouml;nnen m&uuml;ssen Sie sich anmelden.

    <br><br>
    <a  href="{link zum anmelden}">Anmelden</a>

                        

    <?php

        


    }

    ?>

    ***  END  ***  the following lines are after <jdoc:include type="component" /> in your Template an only an example ***

                            <jdoc:include type="modules" name="userx" />
                        </div>
                        <div class="clear">&nbsp;</div>
                    </div>
                </div>                
                <div id="footer">
                    <jdoc:include type="modules" name="bottom" style="rounded" />
                </div>

            </div>
        </body>

    Befindet man sich nun innerhalb des festgelegten IP-Bereichs (ich habe mal zwei angegeben) wird die Seite ausgeliefert.
    Ruft man die Seite von ausserhalb auf wird überprüft ob der Aufrufer angemeldet ist und gibt eine entsprechende Meldung aus.

    Bye
    *****************************
    Intranet - Addressenbeschränkung - Zugangskontrolle
    Meine Kristallkugel hat einen Sprung und die Tarotkarten hat's vom Tisch geweht. Detailierte Informationen sind hilfreich.
    We offer three kinds of service: good - chea p - fast. u can pick 2 of them
    FAQ vorn im Forum gelesen?

  2. #2
    Moderator Avatar von time4mambo
    Registriert seit
    11.12.2006
    Ort
    76646 Bruchsal
    Alter
    54
    Beiträge
    14.363
    Bedankte sich
    456
    Erhielt 2.978 Danksagungen
    in 2.796 Beiträgen

    Standard

    Das ist jetzt ein Tutorial ode rhast du irgendwo ein Problem oder was ist das hier genau?
    Für Tipps und Tricks gibts ja einen eigenen Forenbereich. Deswegen weiß ich grad nichts, hiermit anzufangen?


    Axel
    Schulungen, Webentwicklung: time4mambo
    (Video-)Tutorials: time4joomla

  3. Erhielt Danksagungen von:


  4. #3
    Wohnt hier Avatar von cylance
    Registriert seit
    10.11.2010
    Beiträge
    2.313
    Bedankte sich
    189
    Erhielt 592 Danksagungen
    in 562 Beiträgen

    Standard

    Zitat Zitat von time4mambo Beitrag anzeigen
    Das ist jetzt ein Tutorial ode rhast du irgendwo ein Problem oder was ist das hier genau?
    Für Tipps und Tricks gibts ja einen eigenen Forenbereich. Deswegen weiß ich grad nichts, hiermit anzufangen?

    Axel
    Lieber Axel,
    ich hatte diesen Tip erst mal unter Templates gestellt da mir das am geeignetsten schien.
    Wenn Du der Ansicht bist es ist besser unter Tipps und Tricks aufgehoben, dann sei bitte so nett und ordne es dort ein.

    Danke
    Meine Kristallkugel hat einen Sprung und die Tarotkarten hat's vom Tisch geweht. Detailierte Informationen sind hilfreich.
    We offer three kinds of service: good - chea p - fast. u can pick 2 of them
    FAQ vorn im Forum gelesen?

+ Antworten

Lesezeichen

Berechtigungen

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