Avatar billede tanzaweb Nybegynder
17. maj 2005 - 13:57 Der er 10 kommentarer og
1 løsning

variabler mellem 2 domainer

Hej igen

Jeg har 3 domainer som jeg gerne vil lave noget statistik for og her har jeg lavet noget kode som køre på det ene site.
De andre henter så et statInsert.php ind på deres side fra den første side.

Det virker fint med flere af tingen, men den siger bl.a. at Undefined index: HTTP_USER_AGENT som ligger i statInsert.php og så er der også denne fejl Use of undefined constant pageName - assumed 'pageName'som også er i statInsert.php

det kode som indsættets på de sider jeg vil læse statistik fra ser således ud:
define ("pageName", "statistik forside");
//define ("count", "statInsert.php");
include_once ("statInsert.php");

Stien bliver selvfølgelig sat komplet hvis det er på et andet domaine.

statInsert ser således ud:
function WriteLog(){
    $pageName= pageName;
    $host = $_SERVER["HTTP_HOST"];    //skriver sitename.com etc
    $remoteIP=$_SERVER["REMOTE_ADDR"];
    $agent = $_SERVER["HTTP_USER_AGENT"];
    $query="INSERT INTO Data SET Dato_ind=now(), Host=\"$host\", Side_vist=\"$pageName\", Browser=\"$agent\", Dato_ud=now(), Ip=\"$remoteIP\" ";
    $results=mysql_query($query);
}
$conn=ConnectDB();
WriteLog();
$conn->close;

Det sal siges at serveren er en IIS server, men den tager godt nok alle oplysninger ind når den er på samme domaine.

Er der nogen der har et forslag til løsning af dette?
Avatar billede horsmark Nybegynder
17. maj 2005 - 15:29 #1
Jeg har bygget en hjælp klasse der har nedenstående method. Jeg bruger denne @file til at læse en fil på en anden server... ved ikke om dette giver insp til at gå videre...

//Reads a help-php-file from http://www.sitemark.net - do only if client is NOT www.sitemark.net.
function getHelpFromServerIfOnline($serverurl){
$html = false;
//Request server help page html
if($_SERVER['HTTP_HOST'] != "www.sitemark.net"){
  //Check if server is online by requesting page
  $html = @file($serverurl);
  if(!$html){
    header("location: help_error.php");
    exit;
  } else {
    $html = implode('', $html);
  }
}
return $html;
}
Avatar billede olebole Juniormester
18. maj 2005 - 21:07 #2
<ole>

Ja, så kan man da vist ikke være venligere overfor fjendtlige personer  :D

Finder man den fil, kan man jo begynde at lede lidt på Google efter cachede fejl, som viser, hvor dine mere 'interessante' filer ligger. Med ovennævnte fils adresse og lidt info fra Google, er det ren barnemad at tømme din DB og lægge dit site ned på ryggen  :)

Du er en generøs mand, horsmark  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
18. maj 2005 - 21:08 #3
PS: Kan du *så* se at få det skidt slettet fra din server. Det er rent selvmord!  :)
Avatar billede horsmark Nybegynder
18. maj 2005 - 21:26 #4
heh olebole ovenstående returnerer egentligt blot en offentligt tilgængelig webside :-)
Avatar billede horsmark Nybegynder
18. maj 2005 - 21:27 #5
...indhold ($html) der blot pænt skal pakkes ind i CMS design
Avatar billede horsmark Nybegynder
18. maj 2005 - 22:05 #6
pointen med @file er at du kan medsende parametre ergo getparameter.php?parameter=count der så kan returnere et tal for antal visninger. Dog som Ole siger er dette ikke måden at udveksle fortrolige data på overhovedet... men god til cross domain scripting. (Jeg bruger det også andet steds på at få noget serverstatus der ligesom ovenstående også er ment som public data)
Avatar billede horsmark Nybegynder
18. maj 2005 - 22:12 #7
ellers kan du jo blot lave et imagetag der medsender statistikoplysninger til den server der skal samle op...
Avatar billede olebole Juniormester
18. maj 2005 - 23:51 #8
Sålænge, man sørger for at have _total_ (og triple) kontrol over, hvorfra $serverurl kommer, kan man godt bruge den ... den kræver stor forsigtighed  :)
Avatar billede horsmark Nybegynder
19. maj 2005 - 01:42 #9
yes og når denne fuldstændigt overskruede paranoide men absolut nødvendige funktion bruges er der dømt home safe like dis ;-)

class secureUrl(){
var $url ="";
function secureUrl($dirtyAndNastyUrl){
  $this->url = $dirtyAndNastyUrl;
}
function getExtremeValidAndSoberTripleCheckedAdminBase64UrlEncodedSpamStrippedUrl(){
  $this->url = {[...secret sitemark.net code...]}
  return $this->url;
}
}

<mvh>
Onkel HorsMark
</mvh>
Avatar billede tanzaweb Nybegynder
15. februar 2006 - 01:20 #10
lukker
Avatar billede olebole Juniormester
15. februar 2006 - 01:22 #11
ja - åbenbart ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester