php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.06.2011, 00:24  
Benutzer
 
Registriert seit: 19.05.2009
Beiträge: 38
hjw-kunstwerk befindet sich auf einem aufstrebenden Ast
Standard robots.txt anhand des User-agent: parsen

Guten morgen,

ich möchte gerne die robots.txt anhand des User-agent: parsen und anschließend jeweils die Disallow's bzw. Allow's an ein array zum entsprechenden User-agent übergeben.

Mein Problem:
Zur Zeit komme ich selbst nach vielen googlen, Forensuche einfach nicht weiter. Ich möchte das ein Array erstellt wird NUR mit den Disallow's und Allow's welche auch unterhalb dem entrsprechenden User-agent: stehen. Meine Frage wie kann ich solch ein Array erstellen?

Mein Versuch:
Die robots.txt:
Code:
User-agent: *
Disallow: /admin.php
Disallow: /admin/
Disallow: /cache/
Disallow: /config/
Disallow: /design/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /db/ 
Disallow: /templates/ 
Disallow: /common.php 
Disallow: /config.php 
Disallow: /groupcp.php 
Disallow: /memberlist.php 
Disallow: /modcp.php 
Disallow: /posting.php 
Disallow: /privmsg.php 
Disallow: /profile.php 
Disallow: /search.php 
Disallow: /viewtopic.php
Disallow: /login.php

User-agent: Mediapartners-Google* 
Disallow:
PHP-Code:
$url 'http://example.com/'//beispiel URL
$robotstxt = @file_get_contents($url '/robots.txt'); //datei einlesen
var_dump($robotstxt);

if (
$robotstxt !== false//wenn robots.txt geöffnet werden konnte
{
         
$lines preg_split("/[\r\n]+/"$robotstxt, -1PREG_SPLIT_NO_EMPTY); //array mit einzelnen zeilen zurückgeben
         
$data = array(); //array erstellen
         
foreach ($lines as $line//alle zeilen auslesen
         
{
                 if (
substr($line01) != "#"//wenn zeile nicht mit # beginnt
                 
{
                         
preg_match('/([^:]+):([^#]+)/'$line$mat); //wert extrahieren
                         //print_r($mat);

                         
if (!empty($mat))
                         {
                                 if (
strtolower(trim($mat['1'])) == 'user-agent')
                                 {
                                         
$arrayuseragent[] = trim($mat['2']);
                                 }
                                 elseif (
strtolower(trim($mat['1'])) == 'disallow')
                                 {
                                         
$arraydisallow[] = trim($mat['2']);
                                 }
                                 elseif (
strtolower(trim($mat['1'])) == 'sitemap')
                                 {
                                         
$arraysitemap[] = trim($mat['2']);
                                 }
                         }
                 }
         }

         
//muss noch ne Bedingung mit isset machen
         
var_dump($arrayuseragent);
         
var_dump($arraydisallow);
         
var_dump($arraysitemap);
}
else
{
         echo 
'Glück gehabt, keine robots.txt gefunden!';

Die Ausgabe nach dem einlesen mit var_dump():
Code:
string(514) "User-agent: * Disallow: /admin.php Disallow: /admin/ Disallow: /cache/ Disallow: /config/ Disallow: /design/ Disallow: /images/ Disallow: /includes/ Disallow: /language/ Disallow: /db/ Disallow: /templates/ Disallow: /common.php Disallow: /config.php Disallow: /groupcp.php Disallow: /memberlist.php Disallow: /modcp.php Disallow: /posting.php Disallow: /privmsg.php Disallow: /profile.php Disallow: /search.php Disallow: /viewtopic.php Disallow: /login.php User-agent: Mediapartners-Google* Disallow:" 45
Die fehlerhafte Ausgabe nach dem parsen mit var_dump():
Code:
array(2) { [0]=> string(1) "*" [1]=> string(21) "Mediapartners-Google*" } array(21) { [0]=> string(10) "/admin.php" [1]=> string(7) "/admin/" [2]=> string(7) "/cache/" [3]=> string(8) "/config/" [4]=> string(8) "/design/" [5]=> string(8) "/images/" [6]=> string(10) "/includes/" [7]=> string(10) "/language/" [8]=> string(4) "/db/" [9]=> string(11) "/templates/" [10]=> string(11) "/common.php" [11]=> string(11) "/config.php" [12]=> string(12) "/groupcp.php" [13]=> string(15) "/memberlist.php" [14]=> string(10) "/modcp.php" [15]=> string(12) "/posting.php" [16]=> string(12) "/privmsg.php" [17]=> string(12) "/profile.php" [18]=> string(11) "/search.php" [19]=> string(14) "/viewtopic.php" [20]=> string(10) "/login.php" }
Bin wirklich über jede Hilfe und jeden Tipp dankbar, denn ich darfs kaum erwähnen aber sitze schon fast zwei Tage an diesem Vorhaben. Also vielen Dank schon im Vorraus.

Beste Grüße!

Geändert von hjw-kunstwerk (11.06.2011 um 16:15 Uhr). Grund: EDIT: Oh neee Rechtschreibfehler...
hjw-kunstwerk ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.06.2011, 01:09  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.870
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

PHP-Code:
$url 'http://www.example.org';
$robotfile file($url.'/robots.txt');

// dispell new-lines and explode pairs

$robotData = array();
foreach ( 
$robotfile as $line ) {
   
$curline trim($line);
   
$exploded explode(":"$curline);
   if ( 
count($exploded) > ) {
      
$action array_shift($exploded);
      
$robotData[] = array('action' => $action'value' => join(":",$exploded) );
   }

Als nächsten Schritt : Baue ein foreach() das $robotData abarbeitet 0 - ende und bei jedem 'action' - Subschlüssel im Ausgabe-Array den Hauptschlüssel auf den neuen User-agent ändert. Relativ simple logik und nun deine Aufgabe. Wert-Vergleiche im übrigen mach mit temporär "lowercased"-Strings, damit du eine gewisse Idiotensicherheit einbaust, du glaubst garnicht wie kunstvoll manche robots.txt's sind.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 11.06.2011, 10:39  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von hjw-kunstwerk Beitrag anzeigen
...

ich möchte gerne die robots.txt anhand des User-agent: parsen und anschließend jeweils die Disallow's bzw. Allow's an ein array zum entsprechenden User-agent übergen.

Mein Problem:
Zur Zeit komme ich selbst nach vielen googlen, Forensuche einfach nicht weiter. Ich möchte das ein Array erstellt wird NUR mit den Disallow's und Allow's welche auch unterhalb dem entrsprechenden User-agent: stehen. Meine Frage wie kann ich solch ein Array erstellen? ...
Die größte Schwierigkeit dürfte die Verarbeitung mehrerer aufeinanderfolgender User-Agent-Zeilen sein, die sich einen Regelsatz teilen.
Mal sehen:

PHP-Code:
function fw_scan_robots(
    
$url
) {
    if (!
is_resource($file fopen($url'r'))) {
        return 
null;
    }
    
$robots = array ();
    
$ua_collect false;
    while (
is_string($line fgets($file))) {
        if (!
preg_match(
            
// knows:
            //      allow:
            //      disallow:
            //      user-agent:
            //      sitemap:
            //      # single-line|end-of-line comments
            
'/\A\s*
                (
                    (dis)?allow|
                    (sitemap)|
                    (user-agent)
                )
                \s*:\s*
                (\S*)
                \s*(?=\z|\#)
            /ix'
,
            
$line,
            
$hits
        
)) {
            continue;
        }
        if (isset (
$hits[4][0])) { // user-agent:
            
if (!$ua_collect) {
                
$ua_list = array (); // reset
                
$ua_collect true;
            }
            
$ua_list[strtolower($hits[5])] = true;
        }
        else {
            
$ua_collect false;
            
// sitemaps:
            
if (isset ($hits[3][0])) {
                
// update every user agent in $ua_list
                
foreach ($ua_list as $ua => $dummy) {
                    
$robots[$ua]['sitemap'][] = $hits[5];
                }
            }
            else {
                
// allow:|disallow:
                
$allow = isset ($hits[2][0]) ? 'disallow' 'allow';
                
// update every user agent in $ua_list
                
foreach ($ua_list as $ua => $dummy) {
                    
$robots[$ua][$allow][] = $hits[5];
                }
            }
        }
    } 
/// endwhile
    
return $robots;

Zitat:
... sitze schon fast zwei Tage an diesem Vorhaben. ...
Ein wenig Zeit wirst du auch noch investieren müssen: Unabhängig von von den "offiziellen" Regeln, nach denen eine robots.txt aufgebaut ist, können bei Pfaden auch Dopplungen auftreten. Die werden derzeit einfach behalten. Eine Pfad-Normalisierung müsste also noch eingebaut werden.

Zitat:
...
Zur Zeit komme ich selbst nach vielen googlen, Forensuche einfach nicht weiter.
Die offizielle robots.txt-Seite erklärt nicht nur die Syntax-Regeln, sondern verweist auch auf einen robots.txt-Parser in Verbindung mit dem LWP. Der scheint mir ausgereifter als jede selbstgestrickte Variante und sollte sich auch nach PHP übersetzen lassen.

Geändert von fireweasel (13.06.2011 um 14:19 Uhr). Grund: fixed sitemap handling (again) + more userfriendly pcre
fireweasel ist offline   Mit Zitat antworten
Alt 11.06.2011, 15:36  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
zum entsprechenden User-agent übergen.
Was soll das überhaupt bedeuten (meine nicht den Rechtschreibfehler)?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 11.06.2011, 16:53  
Benutzer
 
Registriert seit: 19.05.2009
Beiträge: 38
hjw-kunstwerk befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Was soll das überhaupt bedeuten (meine nicht den Rechtschreibfehler)?
Ich möchte gerne für jeden vorhandenen User-agent in einer robots.txt ein Array erstellen, in welchem die dazugehörigen Allow's und Disallow's für den jeweiligen User-agent stehen.

fiktive robot.txt
Code:
User-agent: *
Request-rate: 1/5
Disallow: /ajax.php
Disallow: /archive/
Disallow: /wiki/Especial:Search
Disallow: /wiki/Especial%3ASearch

User-agent: Morfeus Fucking Scanner
Disallow: / 

User-agent: msnbot/1.1
Disallow: / 

User-agent: msnbot
Disallow: / 

User-agent: Twiceler
Disallow: / 

User-agent: Yandex
Disallow: / 

User-agent: Purebot
Disallow: / 

User-agent: Speedy Spider
Disallow: / 

User-agent: Yeti
Disallow: / 

User-agent: Fasterfox
Disallow: /
Beispiel einer enorm großen robots.txt, die ich zum Beispiel parsen würden wollte. http://www.khd-research.net/robots.txt Oder eben auch das fiktive oben gelistete Beispiel von mir.

So soll es in etwa aussehen:
Code:
array 0
['user-agent'] => Speedy Spider
['node'] => Disallow
['value'] => /

array 1
['user-agent'] => Yeti
['node'] => Disallow
['value'] => /

array 2
['user-agent'] => Fasterfox
['node'] => Disallow
['value'] => /

//usw... wenn denn noch weitere User-agent's vorhanden sein sollten

Hoffe ich konnte mein Anliegen einigermaßen verständlich aufzeigen, eben so das ich für jeweils jeden User-agent ein neues Array erhalte und dann kann ich es in einer foreach Schleife evtl weiterverarbeiten.

Vielen Dank für's Antworten.

PS: Rechtschreibfehler geändert, danke.

Geändert von hjw-kunstwerk (11.06.2011 um 16:59 Uhr). Grund: User-agent hinzugefügt!
hjw-kunstwerk ist offline   Mit Zitat antworten
Alt 11.06.2011, 16:57  
Benutzer
 
Registriert seit: 19.05.2009
Beiträge: 38
hjw-kunstwerk befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tr0y Beitrag anzeigen
PHP-Code:
$url 'http://www.example.org';
$robotfile file($url.'/robots.txt');

// dispell new-lines and explode pairs

$robotData = array();
foreach ( 
$robotfile as $line ) {
   
$curline trim($line);
   
$exploded explode(":"$curline);
   if ( 
count($exploded) > ) {
      
$action array_shift($exploded);
      
$robotData[] = array('action' => $action'value' => join(":",$exploded) );
   }

Als nächsten Schritt : Baue ein foreach() das $robotData abarbeitet 0 - ende und bei jedem 'action' - Subschlüssel im Ausgabe-Array den Hauptschlüssel auf den neuen User-agent ändert. Relativ simple logik und nun deine Aufgabe. Wert-Vergleiche im übrigen mach mit temporär "lowercased"-Strings, damit du eine gewisse Idiotensicherheit einbaust, du glaubst garnicht wie kunstvoll manche robots.txt's sind.
Danke für deine schnelle Antwort doch leider bin ich mit dem Array und diesem Subschlüssel nicht ganz durchgestiegen, wäre es möglich mir evtl. ein Beispiel zu geben.

Nochmals danke für deinen Lösungsvorschlag.
Beste Grüße.
hjw-kunstwerk ist offline   Mit Zitat antworten
Alt 11.06.2011, 17:28  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
So soll es in etwa aussehen:
Das lässt komplett mehrere Angaben für einen UA außen vor. Ebenfalls wie mit * oder widersprüchlichen Angaben verfahren soll.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 11.06.2011, 17:39  
Benutzer
 
Registriert seit: 19.05.2009
Beiträge: 38
hjw-kunstwerk befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Das lässt komplett mehrere Angaben für einen UA außen vor. Ebenfalls wie mit * oder widersprüchlichen Angaben verfahren soll.
Richtig, der UA kann auch * sein. Dann sollte zum Beispiel im Array in ['user-agent'] statt Fasttrack ein '*' stehen. Um dies herauszubekommen/extrahieren habe ich weiter oben im ersten Post meinen Versuch mit preg_split und einer Regex aufgezeigt, doch leider ohne Erfolg und daher frage ich ich hier nach Tipps oder Erfahrungen wie andere evtl. mit dem parsen einer robots.txt umgehen?

Das sollte am Ende raus kommen:
Code:
[0] => Array
(
    [action] => User-agent
    [value] =>  *

    [0] => Array
        (
            [action] => Disallow
            [value] =>  /admin.php
        )
    [1] => Array
        (
            [action] => Disallow
            [value] =>  /admin/
        )

    [2] => Array
        (
            [action] => Disallow
            [value] =>  /cache/
        )
)

[1] => Array
(
    [action] => User-agent
    [value] =>  Fasttrack

    [0] => Array
        (
            [action] => Disallow
            [value] =>  /
        )
)

usw... wenn weitere User-agent's vorhanden.
Hoffe ich konnte mich mit diesem Beispiel nochmal etwas besser ausdrücken?!
Danke für die rege Beteiligung. Gerne lass ich mich auch eines Besseren belehren, oder gibt es schon eine Best Practice in PHP?

Geändert von hjw-kunstwerk (11.06.2011 um 17:53 Uhr). Grund: verbessertes Beispiel hinzugefügt
hjw-kunstwerk ist offline   Mit Zitat antworten
Alt 11.06.2011, 18:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Auf die Schnelle:
PHP-Code:
<?php



class UserAgents
  
{
  public function 
set ($sKey UserAgentInterface $oUserAgent)
    {
    
// strtolower ergänzen wenn gewünscht
    
    
$this->aItems[$sKey] = $oUserAgent;
    }

  public function 
get ($sKey)
    {
    
// strtolower ergänzen wenn gewünscht
    
    
if (false === isset ($this->aItems[$sKey]))
      {
      
$this->set ($sKey , new UserAgent ($sKey));
      }
    
    return (
$this->aItems[$sKey]);
    }

  public function 
getAll ()
    {
    return (
$this->aItems);
    }
  }



interface 
UserAgentInterface
  
{
  public function 
addSetting (UserAgentSetting $oSetting);
  }



class 
UserAgent
      
implements UserAgentInterface
  
{
  public function 
__construct ($sName)
    {
    
$this->sName $sName;
    }

  public function 
addSetting (UserAgentSetting $oSetting)
    {
    
$this->aSettings[] = $oSetting;
    }
  }



class 
UserAgentAll extends UserAgent
      
implements UserAgentInterface
  
{
  public function 
__construct ($oAll)
    {
    
$this->oAll $oAll;
    }

  public function 
addSetting (UserAgentSetting $oSetting)
    {
    foreach (
$this->oAll->getAll () as $oUserAgent)
      {
      if (
$oUserAgent != $this)
        {
        
$oUserAgent->addSetting ($oSetting);
        }
      }
    }
  }



class 
UserAgentSetting
  
{
  public function 
__construct ($sType $sValue)
    {
    
$this->sType  $sType;
    
$this->sValue $sValue;
    }
  }



$oUserAgents       = new UserAgents;
$oCurrentUserAgent = new UserAgentAll ($oUserAgents);

$oUserAgents->set ('*' $oCurrentUserAgent);



foreach (
file ('http://www.khd-research.net/robots.txt') as $sLine)
  {
  list (
$sLine) = explode ('#' trim ($sLine) , 2);
  
  if (
'' == $sLine) continue;
  
  
preg_match ('#((User-agent)|(.+?)):\s*(.+)\s*#i' $sLine $aFound);

  if (
'' != $aFound[2])
    {
    
$oCurrentUserAgent $oUserAgents->get ($aFound[4]); 
    }
  else
    {
    
$oCurrentUserAgent->addSetting (new UserAgentSetting ($aFound[3] , $aFound[4]));
    }

  }

print_r ($oUserAgents);
[edit]

So, jetzt sollte es stimmen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 11.06.2011, 19:33  
Benutzer
 
Registriert seit: 19.05.2009
Beiträge: 38
hjw-kunstwerk befindet sich auf einem aufstrebenden Ast
Standard

@nikosch, wahnsinn ich bin völlig von den Socken! Danke danke danke danke, es ist ja voll der Hammer das in so kurzer Zeit!

Ich muss ganz ehrlich gestehen das ich mich mit Methoden und Constructions der OOP überhaupt noch nicht auskenne dies natürlich umbedingt lernen will, doch leider noch nicht dazu gekommen bin, auch da ich noch kein passendes Buch in deutsch gefunden habe welche OOP mit PHP leicht und verständlich erklärt. Nehme Tipps gerne an! Ich wünsch ich könnt dies schon. Naja Autodidakt eben

Nun habe ich noch ein Anliegen bzw. Frage und zwar habe ich versucht noch den User-agent mit dem * wildcard zu den gematchten UserAgents Object hinzuzufügen, doch leider ohne Erfolg. Gibt es für mein Vorhaben überhaupt eine Möglichkeit? Oder wäre dies zu kompliziert.

Dann ist mir aufgefallen, dass Aktuell beim wenn eine Sitemap als sType gefunden wird das http von dem sValue getrennt wird und das http hinter Sitemap steht.

Ansonsten bin ich einfach nur begeistert das sowas funktioniert! Danke
hjw-kunstwerk ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Algorhytmus] User Klassifizierung HCi PHP-Fortgeschrittene 4 12.05.2011 12:16
Datei für den User umbenennen... Thallius PHP Tipps 2010 5 01.11.2010 14:00
$_SESSION user mit User aus DB abgleichen josephh PHP Tipps 2010 6 10.09.2010 21:53
Logout durch Verlust der Session-ID (Zwei IDs pro User?) oriolus PHP Tipps 2010 10 12.07.2010 01:32
Auf Array zugreifen bringt fehler SteiniKeule PHP Tipps 2010 10 08.04.2010 15:13
LOCK tables... Samhayne Datenbanken 41 18.02.2010 11:15
User Agent Browser Auswertung doublex PHP Tipps 2009 5 15.09.2009 06:56
Projekt: User über Intranetpage erstellen, auf einen VoIP-Server beta1234 PHP Tipps 2009 2 22.07.2009 13:21
User mit PHP aus DB löschen MistaJ PHP Tipps 2008 10 01.12.2008 19:38
User Agent erkennen Papst PHP Tipps 2008 3 15.10.2007 14:47
Session: Untersch. Seiten f. eingeloggte User und norm. User PHP Tipps 2005-2 2 20.07.2005 12:46
[Erledigt] MySQL user rausfinden Datenbanken 4 26.05.2005 12:15
[Erledigt] PHP linux user wechseln PHP-Fortgeschrittene 12 05.12.2004 16:11
Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php useragent, php robots.txt, useragent php, php robots.txt auslesen, morfeus fucking scanner, php robots auslesen, \morfeus fucking scanner\ screen, php server agent robot, user_agent php trim, define user-agent: mediapartners-google disallow: user-agent: * disallow: /search allow: /, preg_match user_agent korrekt verarbeiten, robots txt parsen php, robots txt einlesen php, php user-agent robot, robots php auslesen, mit php robots.txt erstellen, wenn robot.txt, robots.txt php, user-agent: robots.txt, php robots parser

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum