Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP: $_COOKIE values setzen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 15.02.2009, 22:12

ok, die ueberschrift trifft es nicht ganz, wusste aber nicht genau was sich schreiben soll. hier mein problem:

besucher koennen auf meiner seite einen text hinterlassen (so aehnlich wie kleinanzeigen). viele geben im text auch ihre telefonnummer (oder email) mit an, was auch sinn macht da die kontaktaufnahme per tel damit auch schneller funktioniert.
ich will allerdings nicht das meine seite gefunden wird wenn jemand nach diesen emails oder telefonnummern sucht, weshalb ich die nummern nur anzeige wenn isset($_COOKIE['PHPSESSIONID'])===true ist - ansonsten werden die kontaktdaten tm text per regex mit *** ersetzt. das funktioniert auch soweit, da imho kein bot cookies setzt. allerdings ist mein problem jetzt, das besucher die daten erst beim zweiten aufruf einer seite die daten sehen, da beim ersten aufruf die session id noch nicht gesetzt ist - was dann natuerlich moppelkotze ist wenn sie direkt von der suchmaschine auf der ergebnisseite landen.
irgend eine idee wie ich das am besten loesen koennte?

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 15.02.2009, 22:42

irgend eine idee wie ich das am besten loesen koennte?
Ja, ich.

Code: Alles auswählen

if(eregi('bot|slurp', $_SERVER['HTTP_REFERER']))

Anonymous

Beitrag von Anonymous » 15.02.2009, 23:14

calusa-xx hat geschrieben:Ja, ich.

Code: Alles auswählen

if(eregi('bot|slurp', $_SERVER['HTTP_REFERER']))
wie gut, das der Googlebot sich zwischendurch nicht auch mal als Mozilla Browser o.ä. ausgibt... :roll:

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 15.02.2009, 23:28

Ok, dann halt als Bild.

CIX88
PostRank 3
PostRank 3
Beiträge: 90
Registriert: 11.05.2007, 11:45

Beitrag von CIX88 » 16.02.2009, 09:18

Auf eregi() würde ich verzichten, da:

1. veraltet
2. wird bald ganz aus PHP fliegen
2. wegen Sicherheitslücken nicht zu empfehlen

Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 16.02.2009, 10:10

CIX88 hat geschrieben:Auf eregi() würde ich verzichten, da:

1. veraltet
2. wird bald ganz aus PHP fliegen
2. wegen Sicherheitslücken nicht zu empfehlen
Sondern? preg_match? oder was ist der direkte Nachfolger

t-rex
PostRank 7
PostRank 7
Beiträge: 585
Registriert: 15.03.2004, 14:00

Beitrag von t-rex » 16.02.2009, 12:09

Hi,

mir fällt als Lösung hier sofort Javascript ein.

1. PHP wandelt die Zeichen der zu versteckenden Daten in die entsprechenden ASCII Codes um und schreibt die Javascript-Funktion drumrum.
2. Am Ende Deiner Seite fügst du dann diese Javascriptfunktion ein, die die ASCII Codes wieder in lesbare Zeichen zurückverwandelt.

Das ist für Bots nicht zu interpretieren.

Für User ohne Javascript fügst Du noch einen NOSCRIPT Tag ein: "Bitte Javascript aktivieren".

Sonnige Grüsse
HaPe
Keiner weiss wass ich tue, aber alle wissen wie ich es besser machen kann
save the bookmark - logocreatr - backgrounds - templatr- PPC Themes

nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 17.02.2009, 21:44

danke, aber gibts da ein beispiel wo ich mir das mal am lebenden objekt ansehen koennte? ich bin mit js ganz schlecht.
irgendwo hatte ich hier (sig?) mal ne seite mit ablaufenden domains gesehen, da waren die namen auch alle geschwaerzt wenn man js deaktiviert hatte.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 17.02.2009, 22:01

nerd hat geschrieben:danke, aber gibts da ein beispiel wo ich mir das mal am lebenden objekt ansehen koennte?
<script type="text/javascript">document.write("030/182720");</script>

Oder für Paranoide:

<script type="text/javascript">document.write("0" + "3" + "0" + "/" + "1" + "8" + "2" + "7" + "2" + "0");</script>

PHP-seitig:

echo '<script type="text/javascript">document.write("' . htmlspecialchars($telefonnummer) . '");</script>';

(Benutzerdaten immer durch htmlspecialchars() entschärfen - es gibt böse Leute wie mich, die machen sich einen Spaß daraus, statt einer Telefonnummer, einer Adresse, eines Namens oder sonstwas lieber lustigen HTML-, Javascript- und CSS-Code einzutippen.)

[btk]tobi
PostRank 8
PostRank 8
Beiträge: 890
Registriert: 11.10.2004, 05:02
Wohnort: Stuttgart

Beitrag von [btk]tobi » 17.02.2009, 22:10

Ich würde sagen der Useragent reicht, Ich zeige bei einer meier Seiten immer "Willkommen <BENUTZERNAME>" an, wenn Googlebot kommt wird "Willkommen Googlebot" angezeigt und ich habe nur Seiten im Google Cache die vom Googlebot kommen. Google hat bestimmt auch Bots die sich nicht als Googlebot zu erkennen geben, aber die nehmen keine Seiten in den Index auf.

Gruß Tobi

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 17.02.2009, 22:31

[btk]tobi hat geschrieben:Ich würde sagen der Useragent reicht
Mag in der Praxis akzeptabel sein, aber Javascript-Code wie im Beispiel statisch auszugeben ist einfacher und sperrt ausnahmslos alle Suchmaschinen aus (und den einen oder anderen Adressammler gleich dazu). Warum aufwendig und/oder eingeschränkt, wenn's auch einfach und umfassend geht?

Wirths Media
PostRank 9
PostRank 9
Beiträge: 2050
Registriert: 20.09.2004, 20:25

Beitrag von Wirths Media » 18.02.2009, 00:07

Mork vom Ork hat geschrieben:
[btk]tobi hat geschrieben:Ich würde sagen der Useragent reicht
Mag in der Praxis akzeptabel sein, aber Javascript-Code wie im Beispiel statisch auszugeben ist einfacher und sperrt ausnahmslos alle Suchmaschinen aus (und den einen oder anderen Adressammler gleich dazu). Warum aufwendig und/oder eingeschränkt, wenn's auch einfach und umfassend geht?
Auch die Sumas sind schon weiter, Javascript wird versucht zu verstehen. JS ist auch nicht die Lösung.

t-rex
PostRank 7
PostRank 7
Beiträge: 585
Registriert: 15.03.2004, 14:00

Beitrag von t-rex » 18.02.2009, 09:06

Hi,

naja, zwischen "versuchen zu verstehen" und beherschen ist meiner Meinung nach ein Unterschied.

Hier ein konkretes Beispiel:

In Deinem PHP-File oder Template bringst du überall, wo Du was vor dem Bot verstecken möchtest, folgendes unter.

Code: Alles auswählen

<?php
$telefon = "030/47110815";
echo "<script language=\"JavaScript\">\n";
echo "document.write&#40;bde64&#40;'" . base64_encode&#40;trim&#40;$telefon&#41;&#41; . "'&#41;&#41;;\n";
echo "</script>\n";
echo "<noscript>Bitte Javascript aktivieren</noscript>";
?>
Innerhalb des HEAD Tags des ausgebenden HTML Codes fügst du dieses Skript hinzu.

Code: Alles auswählen

<head>
<script language="JavaScript">
base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
bde64 = function&#40;encstr&#41; &#123;
  var bits;
  var decOut = '';
  var i = 0;
  for&#40;; i<encstr.length; i += 4&#41; &#123;
    bits = &#40;base64s.indexOf&#40;encstr.charAt&#40;i&#41;&#41;    & 0xff&#41; <<18 | 
           &#40;base64s.indexOf&#40;encstr.charAt&#40;i +1&#41;&#41; & 0xff&#41; <<12 |
           &#40;base64s.indexOf&#40;encstr.charAt&#40;i +2&#41;&#41; & 0xff&#41; << 6 |
           base64s.indexOf&#40;encstr.charAt&#40;i +3&#41;&#41; & 0xff;
           
    decOut += String.fromCharCode&#40;&#40;bits & 0xff0000&#41; >>16, &#40;bits & 0xff00&#41; >>8, bits & 0xff&#41;;
  &#125;
  if&#40;encstr.charCodeAt&#40;i -2&#41; == 61&#41; &#123;
    return&#40;decOut.substring&#40;0, decOut.length -2&#41;&#41;;
  &#125; else if&#40;encstr.charCodeAt&#40;i -1&#41; == 61&#41; &#123;
    return&#40;decOut.substring&#40;0, decOut.length -1&#41;&#41;;
  &#125; else &#123;return&#40;decOut&#41;&#125;;
&#125;

</script>
</head>
Ich verwende das auf Seiten, wo der Googlebot zwar nicht so wichtig ist, aber wo sich jede Menge Hitbots rumtreiben. Mit der Funktion verstecke ich Links, die diese Hitbots nicht sehen sollen. Da ich noch einige andere Mechanismen eingebaut habe, um diese Bots zu erkennen, kann ich sagen, dass diese Funktion zu 100% wirkt.

Sonnige Grüsse
HaPe
Keiner weiss wass ich tue, aber alle wissen wie ich es besser machen kann
save the bookmark - logocreatr - backgrounds - templatr- PPC Themes

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag