zugriff auf Dateien nur von einem bestimmten Server erlauben
brockerdocker
- webserver
0 wahsaga0 André Laugks
Hallo,
ich beschäftige mich schon eine weile mit dem Problem, dass ich von einem Server A auf 3 .php-Dateien auf Server B zugreifen möchte. Diese Dateien sollen aber nur von Server B zu erreichen sein. Das liegt daran, dass sich die User auf Server A mittels .htaccess einloggen müssen und sie sich deswegen nicht nochmal auf Server B einloggen sollen. Ich habe schon versucht mittels .htaccess nur den refferer Server A zuzulassen, aber irgendwie hat es nicht funktioniert.
Da ich keine Idee habe wie ich dies anders realisieren kann, würde ich mich über Tipps freuen.
Die einfachste Lösung die drei Dateien auf Server A zu verschieben geht leider nicht, da dort kein mysql-support ist. Ich suche also einen Weg diese drei Dateien vor einem Zugriff ohne Passwortabfrage von "außen" zu schützen. Zugleich soll aber von Server A ohne Passwortabfrage darauf zugegriffen werden.
Vielen Dank schonmal für eure Mühe,
mit freundlichen Grüßen brockerdocker
hi,
ich beschäftige mich schon eine weile mit dem Problem, dass ich von einem Server A auf 3 .php-Dateien auf Server B zugreifen möchte. Diese Dateien sollen aber nur von Server B zu erreichen sein.
Nur von Server A, meinst du?
Generelles Problem:
Die Ressourcen werden nicht "von Server A" aus angefordert, sondern vom Client des Nutzers aus.
Das liegt daran, dass sich die User auf Server A mittels .htaccess einloggen müssen und sie sich deswegen nicht nochmal auf Server B einloggen sollen. Ich habe schon versucht mittels .htaccess nur den refferer Server A zuzulassen, aber irgendwie hat es nicht funktioniert.
Wäre auch keineswegs ratsam, sich auf so einen schwachen "Schutz" zu verlassen - der Referrer ist bekanntlich beliebig manipulierbar.
Die einfachste Lösung die drei Dateien auf Server A zu verschieben geht leider nicht, da dort kein mysql-support ist.
Dann lautet die einfachste Lösung - ziehe auf Webspace um, der MySQL-Unterstützung bietet.
(Btw: Du meinst wohl jeweils Domain A/Domain B, und nicht "Server".)
Ich suche also einen Weg diese drei Dateien vor einem Zugriff ohne Passwortabfrage von "außen" zu schützen. Zugleich soll aber von Server A ohne Passwortabfrage darauf zugegriffen werden.
Eine praktikable Möglichkeit dazu existiert m.E. nicht.
"Server B" weiss genausowenig, ob ein Nutzer "vorher" auf "Server A" war, wie was er gestern zum Mittagessen hatte.
gruß,
wahsaga
hi,
ok, dann weiß ich wenigstens bescheid, dass es net geht :(. Aber vielen Dank trotzdem, dann muss ich nicht mehr weitersuchen.
tschau brockerdocker
echo $begrüßung;
ok, dann weiß ich wenigstens bescheid, dass es net geht :(. Aber vielen Dank trotzdem, dann muss ich nicht mehr weitersuchen.
Spricht etwas gegen die landläufige und bewährte Methode mittels Login Zugriff zu gestatten oder zu verweigern ?
echo "$verabschiedung $name";
echo $begrüßung;
ok, dann weiß ich wenigstens bescheid, dass es net geht :(. Aber vielen Dank trotzdem, dann muss ich nicht mehr weitersuchen.
Spricht etwas gegen die landläufige und bewährte Methode mittels Login Zugriff zu gestatten oder zu verweigern ?
Ah ... der Ausgangstext führt einige Gründe an. Ich hätte ja jetzt gesagt: Nicht immer ist billiger besser, besonders dann, wenn benötigte Leistungsmerkmale fehlen, aber gut. Du könntest versuchen mit Server A Proxy zu spielen, wenn jemand was von B haben möchte. A fordert mittels ihm bekannten Login-Daten die geschützte(n) Ressource(n) auf B an und reicht den Inhalt einfach an den Client durch.
echo "$verabschiedung $name";
Hallo!
Die einfachste Lösung die drei Dateien auf Server A zu verschieben geht leider nicht, da dort kein mysql-support ist. Ich suche also einen Weg diese drei Dateien vor einem Zugriff ohne Passwortabfrage von "außen" zu schützen. Zugleich soll aber von Server A ohne Passwortabfrage darauf zugegriffen werden.
Wo ich gerade die Antwort mit dem POST-Request abgegeben haben, fällt mir folgendes ein:
Du machst das wie bei einem Webservice (Amazon, Google und Co.). In die Scripte auf Server A legst Du einen Benutzernamen und Passwort ab, sogar noch eine eindeutige ID/Code (Bsp: 5lnegvrr1k6dqcko4kqqfnr4p6) ab. Das schickst Du über einen POST-Request an Server B. Die PHP-Scripte auf Server B nehmen das auf. Wenn die Daten falsch sind, bricht das Script ab.
25.2. Wie kann ich einen HTTP POST-Request absenden?
http://www.php-faq.de/q/q-code-post.html
André Laugks
Hi,
danke erstmal für die Tipps!
Du machst das wie bei einem Webservice (Amazon, Google und Co.). In die Scripte auf Server A legst Du einen Benutzernamen und Passwort ab, sogar noch eine eindeutige ID/Code (Bsp: 5lnegvrr1k6dqcko4kqqfnr4p6) ab. Das schickst Du über einen POST-Request an Server B. Die PHP-Scripte auf Server B nehmen das auf. Wenn die Daten falsch sind, bricht das Script ab.
OK, soweit habe ich es verstanden und es klappt auch. Ich schicke die Login-Daten per POST-Request an Server B. Doch wie schaffe ich es, dass ich dann die php-Dateien von Server B zurückbekomme? Wenn ich den HTTP POST-Request abgesendet habe, muss ich ja irgendwie eine Antwort bekommen. Wie mache ich es also, dass ich als Antwort von Server A die entsprechenden Dateien bekomme?
Danke nochmal,
tschau brockerdocker
hi,
OK, soweit habe ich es verstanden und es klappt auch. Ich schicke die Login-Daten per POST-Request an Server B. Doch wie schaffe ich es, dass ich dann die php-Dateien von Server B zurückbekomme?
Was macht Server B auf einen POST-Request hin denn für gewöhnlich?
Er gibt eine Antwort zurück.
Wenn ich den HTTP POST-Request abgesendet habe, muss ich ja irgendwie eine Antwort bekommen. Wie mache ich es also, dass ich als Antwort von Server A die entsprechenden Dateien bekomme?
Schau dir das Beispiel auf der von André angegebenen Seite noch mal an - das "Auslesen" der Antwort ist da ja schon mit drin.
gruß,
wahsaga
hi,
ok, das mach ich, habs mir wohl zu oberflächlich angeschaut.
Danke nochmal,
tschau brockersocker