Remote bestand gebruiken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Guido  -

Guido -

11/10/2018 09:17:28
Quote Anchor link
Hallo,

Ik ben bezig met een script(je) en wil een validatie inbouwen, middels het vergelijken van een paar waarden die op een andere server staan. Ik wil daar deze querystring voor gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
include_remote('https://www.domein.nl/check.php?waarde1='.$value1.'&waarde2='.$value2.'&waarde3='.$value3);


Is het dan voldoende om een check.php bestand te maken die er zo uit kan zien:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$value1
= 'mijn waarde 1';
$value2 = 'mijn waarde 2';
$value3 = 'mijn waarde 3';
?>


Of gaat dit niet werken?

Guido
Gewijzigd op 11/10/2018 09:17:59 door Guido -
 
PHP hulp

PHP hulp

19/04/2024 01:04:44
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 09:24:54
Quote Anchor link
Je kan uiteraard eigen variabele meegeven in een externe URL aanroep. Het betreffende script die wordt aangeroepen moet deze wel via GET opvissen ;)

Gaat het enkel om een request of wil je ook de response van hun uitlezen?
Gewijzigd op 11/10/2018 09:29:49 door - Ariën -
 
Guido  -

Guido -

11/10/2018 09:31:36
Quote Anchor link
Wil slechts een eenvoudig check, dus request.
Maar ben wel benieuwd hoe je een response kunt opvragen via deze querystring?
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 09:48:24
Quote Anchor link
Ja dat kan, valideer de meegestuurde waardes, stuur vanaf de remote server een waarde (bijv. array('status'=>true);), en verpak die in de functie json_encode().

Lees dan op je eigen server met de functie json_decode() die JSON-string uit.
Gewijzigd op 11/10/2018 09:48:46 door - Ariën -
 
Guido  -

Guido -

11/10/2018 10:04:54
Quote Anchor link
Hoi,

Ok, daar moet ik even goed voor gaan zitten. Doe ik later een keer.

Maar als ik dus alleen de 3 waarden wil opvragen uit remote bestand check.php, via de querystring, kan dat op de manier die ik in mijn eerste bericht heb geplaatst? Heb momenteel even geen mogelijkheid om het zelf te testen, vandaar ;-)

Guido
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 10:10:57
Quote Anchor link
Via $_GET['waarde1'] etc in check.php.
 
Guido  -

Guido -

11/10/2018 10:19:43
Quote Anchor link
Ik vraag de 3 waarden van check.php toch op vanuit een ander bestand.. middels include_remote, dus de GET moet ik in dat andere bestand gebruiken. Of begrijp ik iets verkeerd?
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 10:23:54
Quote Anchor link
Je doet toch een request van een server (A) naar een andere externe server (B)? Die heeft geen benul over hoe jij de URL op server A samenstelt. Dus als je op server B de waardes in de URL (die vanaf A komt) wilt uitlezen, moet je daar GET gebruiken.
Gewijzigd op 11/10/2018 10:25:08 door - Ariën -
 
Guido  -

Guido -

11/10/2018 10:39:02
Quote Anchor link
Ik vraag alleen de 3 waarden op van server B. Bestand check.php staat op server B en bevat deze 3 waarden.

Met de 3 waarden uit check.php ga ik verder aan de slag in mijn bestand op server A.

Dus in dit geval hoef ik toch geen GET te gebruiken in check.php?
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 10:41:17
Quote Anchor link
include_remote() impliceert dat je een externe server aanroept? Ook omdat je geen pad opgeeft maar een hele URL.

Je kan niet direct PHP-variabelen uitlezen van de ene naar de andere server.
Anders had ik graag $MasterPassword bij Rabobank.nl opgehaald :p
Gewijzigd op 11/10/2018 10:46:10 door - Ariën -
 
Guido  -

Guido -

11/10/2018 10:51:24
Quote Anchor link
Klopt, ik roep bestand check.php aan die op externe server B staat.

Daar staan dus 3 waarden in die ik wil opvragen.

Deze 3 waarden vergelijk ik dan met wat een gebruiker heeft ingevuld via een formulier op server A. Als deze 3 waarden overeenkomen, geef ik gebruiker toegang tot de rest vh script.

Dat is in het kort wat ik wil ;-)

Guido
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 10:58:08
Quote Anchor link
Die include_remote(.......) functie staat op server A lijkt me. Die doet een request naar domein.nl (server B). Dan kan server B niet direct $value1, $value2 etc uitlezen. Dat zijn variabelen die je op server A gemaakt hebt.

Hij krijgt het dan binnen als: https://www.domein.nl/check.php?waarde1=mijn%20waarde%201&waarde2=mijn%20waarde%202&waarde3=mijn%20waarde%203.
(Die %20 is de code voor een spatie in een URL (URL-encoding))

Dan wil check.php die waardes weer gebruiken, en dat doet hij dan uiteraard met $_GET['waarde1'] etc...
En daar zit dan "mijn waarde 1" weer in.

Dus zoals ik al zei: Servers kunnen elkaars variabelen niet zomaar lezen. In het algemeen moet je de waardes via POST/GET doorgeven.
Gewijzigd op 11/10/2018 10:59:50 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

11/10/2018 11:20:40
Quote Anchor link
Misschien moet dit even wat anders ingestoken worden. Wat probeer je precies te bereiken met zo'n aanroep? En doe je sowieso iets met het resultaat van die aanroep, of gaat het enkel om die aanroep die je op een of andere manier wilt kopiëren? Maak je gebruik van een webservice of authenticatiedienst? Ben je netwerkverkeer aan het afluisteren en probeer je wachtwoorden te onderscheppen? Probeer je iets te bruteforcen? :p Wat ben je aan het doen?

Als je zelf een (extern) bestand aanroept zul je zelf de informatie van die aanroep moeten verschaffen. Ook zie ik niet wat server A hiermee te maken heeft? Als dit gevoelige informatie betreft (authenticatie?) zou ik dat ook niet in een querystring proppen, want die kunnen mogelijk gecached worden.

Als het de bedoeling is dat je je op A ergens voor inlogt, en A moet dit zelf aan B vragen (denk aan "inloggen via Google/FaceBook" et cetera), natuurlijk kun je dan die variabelen doorsturen. Maar al die platforms maken gebruik van webdiensten met uitgebreide documentatie. We kunnen je echter niet helpen als je zo abstract blijft.

EDIT: en als je een HTTP-request wilt simuleren, gebruik cURL ofzo. Het includen van een remote bestand is op zijn minst... een opmerkelijke constructie?
Gewijzigd op 11/10/2018 11:24:41 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 11:37:12
Quote Anchor link
@Thomas:
include_remote() is ook geen bestaande functie binnen PHP.
Dus de vraag is ook: Hoe werkt die functie? Misschien wordt er al cURL gebruikt (aanrader)?
 
Guido  -

Guido -

11/10/2018 12:16:51
Quote Anchor link
@Ariën:
Excuses je hebt gelijk.. include_remote is een functie binnen het script. Dus die functie doet misschien nog wel meer dan alleen een bestand opvragen.

Ok, zal het complete verhaal even vertellen.

Ik help iemand die een script heeft waar een licentie bij hoort, die hij ook gewoon heeft. Het script controleert of de ingevoerde licentie gegevens, zoals licentiesleutel en website URL, overeenkomen met de betreffende licentie. Hij benadert daarvoor een bestand op de server van de developer.

Echter, die is ermee gestopt en alles is offline gehaald. En onbereikbaar via mail. Degene die ik help kan daarom niets meer omdat de installatie gewoonweg stopt na invoeren van die gegevens.

Klinkt misschien ongeloofwaardig, maar het is de waarheid. Ik zou nooit een licentie omzeilen (want is onethisch), maar in dit geval kan ik niet anders.

Maar ik moet eerst even uitzoeken wat die functie include_remote allemaal doet. Komt weer meer achterweg als ik dacht.
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 12:22:50
Quote Anchor link
En wat staat er in het contract over een dergelijke faillissement of stopzetten van de diensten van de software-ontwikkelaar? Ik zou daar eerst eens in verdiepen voordat je dergelijke fratsen uit gaat voeren om de licentie-check voor de gek te houden.

Voor hetzelfde geldt zijn de rechten overgenomen door een ander bedrijf.

Dus ga eerst de formele weg in en zoek alles eens uit.
Gewijzigd op 11/10/2018 12:24:07 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

11/10/2018 12:49:07
Quote Anchor link
Oef. Tijd voor een andere oplossing. Als de "remote include" ook echt daadwerkelijk code include ga je natuurlijk nat, omdat je deze code zelf niet hebt.
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 12:52:00
Quote Anchor link
De functie heeft in feite een verkeerde benaming. Omdat je niks includeert in de hoedanigheid die de remote server kent. Je doet wél een request, en de waarde daarvan wordt waarschijnlijk opgehaald. Dat is wat anders dan includeren (vertaald: insluiten)
 
Thomas van den Heuvel

Thomas van den Heuvel

11/10/2018 13:18:17
Quote Anchor link
Mja, of dit bestand "include" daadwerkelijk core functionaliteit indien de parameters horen bij een geldige licentie. Als dat om een of andere reden niet werkt is daarmee mogelijk alle functionaliteit onklaar gemaakt. Alles is dan letterlijk afhankelijk van dat bestand. Niet echt heel handig in het gebruik (single point of failure).
 
Guido  -

Guido -

11/10/2018 15:11:25
Quote Anchor link
@Ariën:
Over de licentie, heb alleen de handleiding en het readme bestand en daar staat helemaal niets in over rechten/plichten. Dus dat schiet niet op. Kan kijken of er nog wat te vinden is via internet archive.

Wil liever de naam vh script hier niet noemen, want dat kan alleen maar in het nadeel werken van degene die ik help. Betreft een marktplaats script.

@Thomas:
Validatie van de licentie gebeurt alleen op moment van installeren. Gelukkig wel, want dat zou idd erg onhandig zijn geweest.

Guido
 
- Ariën  -
Beheerder

- Ariën -

11/10/2018 16:33:46
Quote Anchor link
Is er ook niet een contract ondertekend waarin de rechten/plichten vermeld staan?
Ga dat eerst even na bij de licentiehouder. En als alles gewoon safe is, kan je toch die licentie-check eruit slopen? Of is het bestand encoded?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.