PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Refferer Url mit Dtei anzeigen



cece75
04.11.2010, 10:42
Mal ne Frage.
Habe mir ein Ref Check Addon für n Bettel Link gekauft
Nun das Addon funzt super nur was mich stört nur die domain angezeigt wird also www.domain.de.
Ich möchte aber gerne das die datei mit ausgelesen wird. Geht sowas?

das sind glaube ich die Zeilen die den Ref auslesen und in die DB schreiben:


$reffer = $_SERVER[HTTP_REFERER];
$yes = 0;
$url = parse_url($reffer);
$reffer = "http://".$url[host];
while(list($domain, $subarray) = each($disallow)) {
if ($reffer == $subarray) {
$yes = 1;

neoplacer
04.11.2010, 13:10
Hallo,

hier:

$reffer = $_SERVER[HTTP_REFERER];
hast du den kompletten Referer dieser wird durch:

$url = parse_url($reffer);
parse_url (http://php.net/manual/de/function.parse-url.php)
In seine Bestandteile zerlegt.
Durch:

$reffer = "http://".$url[host];
wird der eigentlich ermittelte Referer überschreiben
und in

if ($reffer == $subarray) {
verglichen.
Du musst also nach dem Vergleichen:

$reffer = $_SERVER[HTTP_REFERER];
wieder zurücksetzten oder änderst das:

$reffer = "http://".$url[host];
und das:

if ($reffer == $subarray) {
in z.B.

$host= "http://".$url[host];

if ($host== $subarray) {

lg neoplacer

cece75
04.11.2010, 14:00
Habe jetzt mal die änderungen vorgenommen die du vorgeschlagen hast, leider keine änderung :-(
hier mal der komplette teil in der bettel.php der wohl fürs auslesen zuständig ist:



$bliste = '';
$blockedabfrage = db_query("SELECT distinct site FROM vms_bettel_block");
while ($disallowed = mysql_fetch_array($blockedabfrage))
{
$bliste = $bliste . $disallowed['site'] . ';';
}
$disallow = split(';',$bliste);

$reffer = $_SERVER[HTTP_REFERER];
$yes = 0;
$url = parse_url($reffer);
$host= "http://".$url[host];
while(list($domain, $subarray) = each($disallow)) {
if ($host== $subarray) {
$yes = 1;
}
}

// ***********
// * DEBUG *
// ***********

$reffer = $_SERVER[HTTP_REFERER];
$url = parse_url($reffer);
$reffer = "http://".$url[host];
$ref = $_GET['ref'];
$reloadcheck = db_query("INSERT INTO `vms_bettel_refs` ( `id` , `site` , `refferer` ) VALUES ('', '$reffer', '$ref');");


$_GET['ref'] = (int)$_GET['ref'];
Kenne mich leider mit php und mysql aus. :redface:

cece75
04.11.2010, 14:08
danke habe es hinbekommen.

habe es so geändert:
$reffer = $_SERVER[HTTP_REFERER];
$url = parse_url($reffer);
$reffer = "http://".$url[host];
$url = parse_url($reffer);
$reffer = $_SERVER[HTTP_REFERER];


Danke für die Hilfe

neoplacer
04.11.2010, 14:38
$bliste = '';
$blockedabfrage = db_query("SELECT distinct site FROM vms_bettel_block");
while ($disallowed = mysql_fetch_array($blockedabfrage))
{
$bliste = $bliste . $disallowed['site'] . ';';
}
$disallow = split(';',$bliste);

$reffer = $_SERVER[HTTP_REFERER];
$yes = 0;
$url = parse_url($reffer);
$host= "http://".$url[host];
while(list($domain, $subarray) = each($disallow)) {
if ($host== $subarray) {
$yes = 1;
}
}

// ***********
// * DEBUG *
// ***********

$reffer = $_SERVER[HTTP_REFERER];

Wenn du den Teil hier raus löscht müsste es gehen..
Vor der while würde ich es nicht raus machen, da es sonnst nicht mehr Funktioniert (Die Prüfung ob geblockte Seite oder nicht.).


$url = parse_url($reffer);
$reffer = "http://".$url[host];

Dann das ganze was danach noch kommt, einfach drin lassen.


$ref = $_GET['ref'];
$reloadcheck = db_query("INSERT INTO `vms_bettel_refs` ( `id` , `site` , `refferer` ) VALUES ('', '$reffer', '$ref');");

$_GET['ref'] = (int)$_GET['ref'];

cece75
04.11.2010, 15:37
hab es so und die anzeige funzt weiss nur noch ned ob die url block funktione funktioniert



$bliste = '';
$blockedabfrage = db_query("SELECT distinct site FROM vms_bettel_block");
while ($disallowed = mysql_fetch_array($blockedabfrage))
{
$bliste = $bliste . $disallowed['site'] . ';';
}
$disallow = split(';',$bliste);

$reffer = $_SERVER[HTTP_REFERER];
$yes = 0;
$url = parse_url($reffer);
$reffer = "http://".$url[host];
while(list($domain, $subarray) = each($disallow)) {
if ($reffer == $subarray) {
$yes = 1;
}
}

// ***********
// * DEBUG *
// ***********

$reffer = $_SERVER[HTTP_REFERER];
$url = parse_url($reffer);
$reffer = "http://".$url[host];
$url = parse_url($reffer);
$reffer = $_SERVER[HTTP_REFERER];