SuMa-Optimierung

Kleine Codeänderungen oder Mini-MODs
Keine Anfragen!!! -- No requests!!!

Moderator: Supporter

SuMa-Optimierung

Beitragvon AmigaLink » 20. Apr 2005 16:04

Bei der Suchmaschinenoptimierung von phpBB2 ist die sogenannte Session ID, die oftmals über die URL übergeben wird, von grosser Bedeutung.
PHP fügt eine sogenannte Session-ID zur URL hinzu wenn beispielsweise Cookies nicht verfügbar sind und session.use_trans_sid in der php.ini aktiviert ist (Standard seit Version 4.2.0).

Suchmaschinen ignorieren oftmals Seiten mit dynamischen URLs um sog. Spidertraps zu vermeiden (also unterschiedliche URLs mit gleichem Ziel).

Diese kleine Änderung umgeht diese Problematik:
Code: Alles auswählen
#
#----------[ OPEN ]-------------------------------------
#

includes/session.php

#
#----------[ FIND ]-------------------------------------
#

   $SID = 'sid=' . $session_id;

#
#----------[ REPLACE WITH ]-----------------------------
#

   ( $userdata['session_user_id'] != ANONYMOUS || isset($HTTP_GET_VARS['agreed']) ) ? $SID = 'sid=' . $session_id : $SID = '';

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM

Der Verzicht auf die Session-ID (beim Gastaccount) hat im übrigen neben der Suchmaschinenoptimierung noch mindestens zwei weitere Vorteile: verbesserte (x)HTML-Konformität und ein Schutz vor dem sogenannten Session-Hijacking.

Quelle: krapohl.info & oxpus.de
Zuletzt geändert von AmigaLink am 10. Okt 2005 12:25, insgesamt 1-mal geändert.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AmigaLink » 20. Apr 2005 16:25

Nutzer des phpBB Menu Manager (ohne klickcounter) müssen zusätzlich noch in der includes/page-header.php und gegebenenfalls in der portal.php folgendes machen:
Code: Alles auswählen
#
#----------[ FIND ]-------------------------------------
#

         if (substr($row['bl_link'],0,10) != 'javascript')
         {
            $phpext = '.'.$phpEx;
            $sidext = ( $row['bl_parameter'] != '' ) ? '&sid='.$userdata['session_id'] : '?sid='.$userdata['session_id'];
         }
         else
         {
            $phpext = '';
            $sidext = '';
         }
#
#----------[ AFTER, ADD ]-------------------------------
#

   ( $userdata['session_user_id'] != ANONYMOUS ) ? $sidext = $sidext : $sidext = '';

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AmigaLink » 2. Mai 2005 20:36

Hier noch ein guter Tipp zum Thema HiJacking!!!
Zuletzt geändert von AmigaLink am 18. Dez 2005 12:18, insgesamt 1-mal geändert.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon blondi » 2. Mai 2005 20:37

kann man das ohne weiteres einbauen wenn man den google counter drinnen hat, weil der code von dem ändert doch auch die sessions, oder?
blondi
User
 
Beiträge: 46
Registriert: 27. Feb 2005 00:55

Beitragvon AmigaLink » 2. Mai 2005 21:01

Das eine hat mit dem anderem nix zu tun, du kannst dieses Snippet hier also ruhig einbauen. :)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon blondi » 2. Mai 2005 21:32

hab da eben was gefunden...

was meinst du dazu...

Code: Alles auswählen
###############################################
##   Hack Title:    User Agent specific SID removal
##   Hack Version:  1.0.0
##   Author:        Armin "Kharay" Altorffer
##   Description:   This will remove SID (from URLs) for specific user agents.
##                  This can be put to good use to make your phpBB more Search Engine compatible.
##   Compatibility: 2.0.x
##
##   Installation Level: Easy
##   Installation Time:  5 minutes (tops)
##   Files To Edit: 2
##      includes/functions.php
##      includes/sessions.php
##
##   Included Files: 0
##
##   History:
##      January 10th 2004: v1.0.0:   Done.
##
##   Author Notes:
##      To add more user agents, simply add them to the search_engines array in the function is_search_engine.
##
##   Support:      http://www.phpbbsupport.co.uk
##   Copyright:    ©2004 User Agent specific SID removal v1.0.0 - Armin "Kharay" Altorffer
##
###############################################
##   You downloaded this hack from phpBBSupport.co.uk, as such this is not a official phpBB hack.
##   This means that support can not be found for this at phpBB.com, so please visit http://www.phpbbsupport.co.uk
###############################################
##
###############################################
##   This program is free software; you can redistribute it and/or
##   modify it under the terms of the GNU General Public License
##   as published by the Free Software Foundation; either version 2
##   of the License, or (at your option) any later version.
##
##   This program is distributed in the hope that it will be useful,
##   but WITHOUT ANY WARRANTY; without even the implied warranty of
##   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##   GNU General Public License for more details.
##
##   http://www.gnu.org/copyleft/gpl.html
###############################################

#
#-----[ OPEN ]------------------------------------------
#

includes/functions.php

#
#-----[ FIND ]------------------------------------------
#

?>

#
#-----[ BEFORE, ADD ]------------------------------------------
#

function is_search_engine()
{
   global $HTTP_SERVER_VARS;

   $_this_agent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];

   $search_engines = array(
      // W3C HTML Validator:
      "W3C_Validator/1.305.2.12 libwww-perl/5.64",
      // W3C CSS Validator:
      "Jigsaw/2.2.3 W3C_CSS_Validator_JFouffa/2.0",
      // W3C Link Checker:
      "W3C-checklink/3.6.2.3 libwww-perl/5.64",
      // Submit Express META TAG Analyzer:
      "MetaTagRobot/1.6 (http://www.widexl.com/remote/search-engines/metatag-analyzer.html)",
      // GoogleBot:
      "Googlebot/2.1 (+http://www.googlebot.com/bot.html)",
      "Googlebot-Image/1.0 (+http://www.googlebot.com/bot.html)",
      // GID GZIP Test:
      "GIDZipTest/1.2 (+ http://www.desilva.biz/gzip-test.php)",
      // Alexa/Internet Archiver:
      "ia_archiver",
      "ia_archiver/1.6",
      // Inktomi robot:
      "Slurp/2.0 (slurp@inktomi.com; http://www.inktomi.com/slurp.html)",
      "Slurp/2.0-KiteWeekly (slurp@inktomi.com; http://www.inktomi.com/slurp.html)",
      "Slurp/si (slurp@inktomi.com; http://www.inktomi.com/slurp.html)",
      // @nonymouse - WWW
      "http://@nonymouse.com/ (Unix)"
   );

   foreach($search_engines as $search_engine)
   {
      if (!strcmp($_this_agent, $search_engine))
      {
         // Must be an engine... is in our list.
         return true;
      }
   }

   return false;
}

#
#-----[ OPEN ]------------------------------------------
#

includes/sessions.php

#
#-----[ FIND ]------------------------------------------
#

function append_sid($url, $non_html_amp = false)
{
   global $SID;

#
#-----[ AFTER, ADD ]------------------------------------------
#

   if (is_search_engine())
   {
      return $url;
   }

#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#
#End of Hack
blondi
User
 
Beiträge: 46
Registriert: 27. Feb 2005 00:55

Beitragvon AmigaLink » 9. Mai 2005 00:24

Ups, ganz vergessen zu Antworten. :oops:

Dieser Mod ist durch das Snippet unnötig! :D
Denn Suchmaschienen sind immer als Gast unterwegs und Gäste haben ja damit keine SID mehr. ;)
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Re: SuMa-Optimierung

Beitragvon lotteb » 20. Jun 2005 00:45

Hallo!

Bei mir im Code erscheint die Zeile


Code: Alles auswählen
$SID = 'sid=' . $session_id;


zweimal im Quellcode. Muss ich beide austauschen damit mein Board besser geschützt ist? Hier der Codeausschnitt in dem beide vorkommen.

Code: Alles auswählen
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
        setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
       
        if ($plus_config['disable_sid'] == 1)
        {
        if ( $userdata['session_user_id'] != ANONYMOUS ){
                   $SID = 'sid=' . $session_id;
        } else {
                   $SID = '';
        }
}
else
{
        $SID = 'sid=' . $session_id;
}
        return $userdata;
}


Ich benutze PHPplus1.53 2015 beta6

Danke für die Hilfe!

[/quote]
Benutzeravatar
lotteb
 
Beiträge: 3
Registriert: 20. Jun 2005 00:40

Beitragvon AmigaLink » 20. Jun 2005 01:40

Du brauchst garnichts zu ändern, sondern nur im ACP die vergabe der Sessions_id für Gäste zu deaktivieren! :)
Müsste irgendwo in der plus-konfiguration zu finden sein.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon lotteb » 21. Jun 2005 16:09

Ok, Vielen Dank! :wink:
Benutzeravatar
lotteb
 
Beiträge: 3
Registriert: 20. Jun 2005 00:40


Zurück zu phpBB2 Snippets



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste

cron