Afsluiting

Meer...
Het is ongelofeloos, maar je kan nog veel meer. De mogelijkheden zijn bijna eindeloos. En het mooie: het is gratis, makkelijk en snel!
Maak een pagina op je server (hoeft niet eens extern of online) die print wat je wilt printen. Stuur headers, print data, ontvang data, ontvang headers. Bewerk, wijzig, muteer. Nogmaals: leef je helemaal uit!

Ik had ooit een login systeem gemaakt voor Administratie van een website. Het was een Permissions systeem, dus je kon mooi instellen wie wat kon.
Ik vond het een beetje overduidelijk om te zeggen dat je wachtwoord fout was, bijvoorbeeld. Er was nl. een hele makkelijke loginbox met een formulier. Dat formulier linkte (action="pagina.php") naar een andere pagina.
Die pagina was headers aan het spugen :) Altijd 404, omdat de pagina niet bestaat... Ik had custom error paginas (dus ook een 404 Not Found). Die pagina zou ik dan printen. Maar dat is voor persoontjes. Een header erbij van 404 en ook de machientjes denken dat de pagina niet bestaat.
Je bepaalt helemaal zelf wat je ermee doet... Je browser interpreteert HTTP en headers, maar je kan ze zelf maken. Niet alleen de browser zelf.

Ga eens met header() spelen en gooi zowel status codes als header vars in het rond. Zoals je zag kan je custom headers sturen (secret1, secret2, etc) en ook HTTP statussen (200 voor OK, 404 voor Not Found en 401 voor Unauthorized.

Internet (vooral HTTP in dit geval) is veel meer dan jij en ik kunnen zien. We kunnen echter wel tooltjes bouwen die voor ons kunnen kijken. En zelfs wat die tooltjes zien hoeven we niet te printen, als we er maar iets mee doen.
Uiteindelijk wil je natuurlijk een berichtje krijgen dat iets al dan niet gelukt is, maar er kunnen ondertussen 8 requests zijn geweest, over en weer, en een paar fake status codes en een paar secret headers. En dan is er misschien wel een nette sessie opgezet. Een soort van inloggen voor browsers :) Niet met SESSIONS of COOKIES, maar met secrets in http headers.

Laatste keer:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$mogelijkheden
= "bijna oneindig";
leef_je_uit();

?>


Als je niet steeds wil typen in PHP en op F5 duwen, kan je een progje downloaden (eerst zoeken) waarmee je zelf voor browser kan spelen. Typ headers in en ontvang headers. Als je twee keer op enter drukt worden de headers gestuurd. Na je paramaters (als je die hebt) nog een keer, en alles wordt verstuurd.

Dat is geweldig spelen, en makkelijk. Je kan echter niet de ontvangende kant van het spel spelen. Maak dus een socket target, zoals external_socket.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
// external_socket.php | response, show everything

header("content-type: text/plain");


// supersecretheaders //
header("secret1: geheime shit");
header("secret2: Array();".'\n'."!scalar");
header("secret1: meer geheimes",false); // remember = no overwrite, so FALSE


echo print_r( $_SERVER, true ) . "\n";

echo "METHOD: ".$_SERVER['REQUEST_METHOD']."\n\n";

echo "GET:\n";
print_r( $_GET );
echo "\nPOST:\n";
print_r( $_POST );
exit;

?>



Veel plezier :)
Hulp is er hier, op php.net en op wikipedia. HTTP is interessant! Veel interessanter dan output lezen als html!


Een tip om sockets te openen:
"http://[email protected]/external_socket.php"
laat php lezen als
_PORT_ :// _METHOD_ @ _SERVER_ _SCRIPT_
m.b.v. parse_url()

« Lees de omschrijving en reacties

Inhoudsopgave

  1. De functies
  2. HTTP Requests! Nieuw?
  3. GET en POST requests
  4. Duidelijkheid en verwerking
  5. secrets in http headers
  6. Afsluiting
  7. request
  8. request
  9. response
  10. response

PHP tutorial opties

 
 

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.