mehrere domains und cookies... |
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hallo zusammen,
folgendes Szenario:
Server (Unix): hat einen hostname. eine a.xxx.de
mehrere subdomains routen auf ihn. b.xxx.de c.xxx de usw...
das ganze wird im Apachen per virtual hosts abgefangen und funktioniert auch soweit.
Das Problem sind Cookies:
wenn b.xxx.de einen cookie setzt, wird der mit der domain a.xxx.de gesetzt da dies der hostname des servers ist. B.xxx.de kann daraufhin nicht auf den cookie zugreifen (natürlich, cookies sind domainbezogen).
Meine Frage:
Kann ich a) dem server merhere hostnames geben (durch kommata getrennt?)
oder b)
was stell ich in der php.ini also cookie-domain ein (zur zeit leer!)
Ich komm einfach nicht vorran...
wenn man per http://A.xxx.de/b.xxx.de/ordner/ auf die seite geht die den cookie setzt, geht natürlich alles.
Ich hoffe das war halbwegs verständlich...
Danke im vorraus..
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Also in PHP kannst du die Cookie-Domain von hand setzen: http://de3.php.net/manual/en/function.setcookie.php
|
 Profil
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hey,
ja, nein, und jein.
Ich möchte am Code nichts ändern (fertiges Forum/Board). Mir geht es darum den server so zu konfigurieren das das von alleine geht. (ist keine i-net-server). Ist lokal mit vollem root zugriff.
Any other idea?
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
nachtrag:
ich hab in der php ini als session.cookie_domain schon die B.XXX.de eingetragen.....
das bringt aber jar nischt (apache ist restarted)....
hostname des servers könnte natürlich auf B.XXX.de geändert werden das soll aber auch nicht.
irgendeinen weg gibts doch bestimmt oder??
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Was spricht denn dagegen am Code was zu ändern. Sowas würde ich im Normalfall Serveränderungen immer vorziehen.
|
 Profil
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hey,
der Cookie wird nicht explizit gesetzt. Die Scripte erwarten, das session.use_cookies ON ist. Also starten die nur sessions die von php automatisch in einen cookie geschrieben werden.
Das könnte man zwar auch alles ändern, aber da ist mir dann der aufwand zu hoch.
Außerdem liegen dort noch mehrere Domains, bei denen man beim cookie setzen jedesmal die verschiedenen domains berücksichtigen müsste. Deswegen lieber serverseitig lösen.
Reicht das als Erklärung?
Mal davon abgesehen, das es ja irgendwie gehen MUSS.
Ich denke dem server mehrere hostnames zu geben wäre ne idee, ich weiss aber nicht wie. Vielleicht stimmt auch an der virtual-hosts config was nicht, bis auf die cookies funzt die aber einwandfrei.
Also, weitere Ideen??
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Achso, die Session-Verwaltung ist das...
Seltsamer fehler. Hab ich so noch nie gehabt...
|
 Profil
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hey,
als "Fehler" würde ich nich das nicht bezeichnen. Ich bin mir sicher das es nur fehlender oder falscher Konfiguration liegt. Nur... Konfiguration von WAS???
php sessions in der ini?? wohl eher nich....
hostname des servers?? aber mehrere wird wohl auch nicht gehen....
da das php-session-management den cookie alleine schreibt kann man ihm die domain auch nicht mit auf den weg geben.....
Hat denn sonst niemand eine schlaue idee?
Es dreht sich übrigens um "gallery", eine bilder/album gallery, falls das interessant sein sollte.....
und über http://hostnamedesserver/domainunterdereslaufensoll/ funzt es (die www-roots der anderen domains heissen wie die domain und liegen im wwwroot des hosts, also der hauptdomain...)
ich bin am verzweifeln......
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
Dass du von domain A auf einen cookie von domain B nicht zugreifen kannst solla ja so sein, damit die privacy gewährleistet ist.
Bekannte anbieter von werbung, die ja wissen wollen auf welchen seiten du warst, binden in domain a und domain b ein kleines frame ein dass auf domain c zugreift und das cookie von dort aus installiert. so kann sowohl auf domain a als auf domain b das cookie vom server von domain c ausgelesen werden.
was du vor hast kann und soll nicht funktionieren.
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hey,
das es so nicht funktioniert und auch nicht soll ist mir klar.
Das problem ist das wenn domain B den Cookie setzt, es den cookie setzt als wäre es Domain A. B soll den cookie als B setzen.
der cookie wird aber nicht "von hand" gesetzt (dann könnte man die domain mit angeben) sondern php_sessionmanagment setzt den autom..
Das B setzt als A den cookie kann ihn dann aber nich lesen, das kann nur A. Das ist wie gesagt klar, aber so soll es ja auch nicht sein.
War das etwas verständlicher??
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
ok jetzt hab ich dich verstanden.
auf was ist denn in deiner php.ini die session.cookie_domian gesetzt?
ist domain b eine subdomain von domain a?
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hey,
also bei A und B handelt es sich beidemale um subdomains.
also a.domain.de und b.domain.de und c.... keine www.domain.de routet auf die kiste...
in der ini hab ichs schon mit session.cookie_domain = a.domain.de versucht, und mit b.domain.de und auch schon leer gelassen... half alles nichts.
ich geh davon aus das ich dem server selber mehrere hostnames geben muss, hab aber keinen plan wie (FreeBSD).
eine phpinfo() in den einzelnen wwwroots spucken jeweils die richtigen domain namen aus... komischerweise...
Aber wenn du mich jetzt verstanden hast ist das ja schon mal ein Anfang
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
Tja die antwort hat ne weile gedauert, aber ich mußte das alles mal testen, beschäftige mich schon lange nciht mehr mir PHP.
ich hab nichts besonderes gesetzt.
meine session.cookie_domain ist leer. in der applikation habe ich auch nichts gesetzt.
und es funktioniert.
ich glaube deine applikation setzt die domain irgendwo, oder du verwendest ne fehlerhafte php version vielleicht. ich kann es mir nciht erklären.
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|
Agent
Quasselstrippe Threadstarter
Beiträge: 306 |
Hey,
auch wenns was gedauert hat (oder gerade deswegen):
Danke fürs bemühen
Ich habs mitlerweile auf ne http://a.domain.de/b.domain.de/ gelegt, und ins eigentlich b-root nen redirect mit hostname abfangen etc...
Ich weiss auch noch nicht obs an der php-version liegt (4.3.1 wenn ich mich nicht irre).
Ich hab auch mitlerweile aufgegeben.....
Ich meld mich bestimmt wieder wenn ich weiss woran es lag....
Gruß,
Agent
---
Wie soll ich wissen was ich denke, bevor ich höre was ich sage?
|
 Profil
Website
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
was für ein board setzt du denn da überhaupt ein?
würde gern rausfinden woran das liegt.
hast du mal versucht es mit einem einfachen skript zu versuchen?
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|