[PHP] fsockopen()

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik probeer het volgende:

Een windows 2000 webserver(server1) moet een verbinding maken met een andere windows 2000 server(server 2) op poort 2002(bijv).

Tussen deze 2 servers staat een unix firewall(server 3) die alleen maar verkeer doorlaat over poort 80 (heen en weer).

In mijn ogen gaat dit dus niet werken, maar misschien zijn er wel slimmere mensen dan mij die hier wel een oplossing voor hebben :) . Normaliter kun je de pagina op server 2 oproepen met http://xxx.xxx.xxx.xxx:2002/get variables via internet explorer wat dan dus ook (volgens mij) via port 80 verloopt. Ik heb het wel al geprobeerd met de fopen() functie, maar deze blijkt onbetrouwbaar (doet het van de 10 keer 2 keer niet goed). iemand enig idee hoe ik een verbinding zou kunnen leggen, het liefst via de fsockopen functie?

Acties:
  • 0 Henk 'm!

  • cdgrit
  • Registratie: Mei 2002
  • Laatst online: 13-01 16:44
Dat gaat niet lukken tenzij je een lek in de firewall kunt ontdekken :p

edit:
Als je er :2000 achter zet loopt het over poort 2000 en niet meer over poort 80 (HTTP).

[ Voor 42% gewijzigd door cdgrit op 04-08-2003 11:26 ]


Originele startpagina - Stadindex.nl


Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Ken je niet op beide Win2K poort 80 gaan gebruiken i.p.v. 2000. En anders een computer voor de 2 win2k machienes zetten die van poort 80 poort 2000 maakt... of praat ik nu blaat?

Acties:
  • 0 Henk 'm!

Verwijderd

Ja dat is ook een optie, alleen dan draaien ze allebij op de http poort, dat is ook niet gunstig.

Kan je geen socket openen op poort 80(server 3) en dan als die sock open staat een via 2000?

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Dan moet dat al intern op de Win2k computer gebeuren want anders ga je alsnog via poort 2000 werken en dat kan niet ivm de firewall.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Slagroom-> Nee, de poortnummers zijn niet te veranderen, helaas.
KingOfDos-> Kan zoiets dan? volgens mij kan je maar naar 1 poort verbinden?

K hoopte eigenlijk dat het zo zou gaan, maar dat zou te makkelijk zijn :)

PHP:
1
2
$fp = fsockopen("xxx.xxx.xxx.xxx", "80");//verbinding naar server 2 
fputs($fp, "GET http://xxx.xxx.xxx.xxx:2002/".$query." HTTP/1.1\r\n\r\n");//do query

[ Voor 49% gewijzigd door Verwijderd op 04-08-2003 11:39 . Reden: php code toegevoegd ]


Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Verwijderd schreef op 04 August 2003 @ 11:18:
Normaliter kun je de pagina op server 2 oproepen met http://xxx.xxx.xxx.xxx:2002/get variables via internet explorer wat dan dus ook (volgens mij) via port 80 verloopt.
Als je een pagina opvraagt via http op een andere poort dan 80, dan laat hij die poort 80 echt wel met rust.

Wat je misschien wel zou kunnen proberen is de http server laten proxyen. Dan connect je op server 2 ook echt alleen met poort 80, maar de server daar stuurt het request weer door (naar zichzelf) op de andere poort (2002 bijvoorbeeld).

Zelf heb ik dit werkend voor een webserver achter een router. Die is van buitenaf alleen benaderbaar op poort 80, maar er draait ook een webmailserver op poort 81. Die is benaderbaar via een subdomein (webmail.domein.nl). De webserver (op poort 80) stuurt al het verkeer intern naar dat subdomein door naar de localhost op poort 81.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bigtree schreef op 04 August 2003 @ 11:42:
[...]
Als je een pagina opvraagt via http op een andere poort dan 80, dan laat hij die poort 80 echt wel met rust.

Wat je misschien wel zou kunnen proberen is de http server laten proxyen. Dan connect je op server 2 ook echt alleen met poort 80, maar de server daar stuurt het request weer door (naar zichzelf) op de andere poort (2002 bijvoorbeeld).

Zelf heb ik dit werkend voor een webserver achter een router. Die is van buitenaf alleen benaderbaar op poort 80, maar er draait ook een webmailserver op poort 81. Die is benaderbaar via een subdomein (webmail.domein.nl). De webserver (op poort 80) stuurt al het verkeer intern naar dat subdomein door naar de localhost op poort 81.
Het probleem is dat ik op server 1 echt totaal geen controle heb. Ik kan daar niks veranderen of iets dergelijks. Ik heb het nu toch even opgelost met fopen omdat ik zie gebeuren dat het zo niet gaat werken, maar op een windows computer is dit volgens mij aardig instabiel, iemand ervaring mee?

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Verwijderd schreef op 04 augustus 2003 @ 11:46:
[...]


Het probleem is dat ik op server 1 echt totaal geen controle heb. Ik kan daar niks veranderen of iets dergelijks. Ik heb het nu toch even opgelost met fopen omdat ik zie gebeuren dat het zo niet gaat werken, maar op een windows computer is dit volgens mij aardig instabiel, iemand ervaring mee?
Je zult het op server 2 moeten aanpassen, zoals je wellicht uit mijn post kon opmaken. Kan je daar wel wat aan configgen?

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.

Pagina: 1