Mit fopen ist auf fremden Servern alles ausgelesen werden, was auch per Browser zugänglich ist. Schützen kann man sich davor z.B. indem man die Rechte von config-Dateien so setzt, dass sie nicht vom Apache ausgeliefert werden, oder sie außerhalb des Document-Root des Webservers platziert.
Kannst Du das mal kurz erklären, wie man das genau macht?
S. hierzu http://localhost/books/php_manual/function.fopen.html
Zu deiner zweiten Frage: Afaik kümmert sich PHP/der Webserver darum.
http://localhost/books/php_manual/ref.session.htmlWenn PHP keinen Cookie setzen kann, verwendet es afaik automatisch URL-Parameter statt der Cookies.
Das hängt davon ab, wie PHP konfiguriert ist. Aber aus Sicherheitsbedenken will ich sowieso Sitzungen nicht über Get-Parameter identifizieren.
Gruß
Stareagle