[PHP] Header 403.6 wil niet verstuurd worden?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil een 403.6 kunnen versturen vanuit php, ik heb de headerinfo nog eens na gelopen maar het wil niet echt lukken.

Headers info

PHP:
1
2
3
4
5
6
7
8
//werken niet(ook met overal 1e letter woord hoofdletter).
header("HTTP/1.0 403.6 Forbidden");
header("HTTP/1.0 403.6 Forbidden: IP address rejected");
header("HTTP/1.0 403.6 IP address rejected");
header("HTTP/1.0 403.6 IP rejected");

//werkt wel
header("HTTP/1.0 404 Not Found");


Hoe kan ik de 403.6 versturen?

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Waarom gebruik je 403.6 in plaats van 403?

Acties:
  • 0 Henk 'm!

Verwijderd

Wellicht is de specificatie achter de punt pas sinds versie 1.1 in de HTTP standaard, dus probeer eens met dat versie nummer. Wellicht zul je ook moeten controleren of je webserver dat ondersteunt en of de connectie ook een 1.1 versie is ipv een 1.0.

Edit:
In de HTTP 1.0 RFC, http://www.ietf.org/rfc/rfc1945.txt, kan ik inderdaad de 403.x extensie niet terugvinden, dus kies veilig voor de algemene 403 fout.

[ Voor 25% gewijzigd door Verwijderd op 15-04-2003 17:34 ]


Acties:
  • 0 Henk 'm!

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 03-09 14:12
Wanneer je een header stuurt moet je in ieder geval ook zorgen dat de http versie klopt. Anders gaat je webserver uit van een andere http versie dan php, waardoor de client er mogelijk niet zo veel van begrijpt.

Het achterhalen van de http versie die gebruikt wordt is te achterhalen met
PHP:
1
$_SERVER["SERVER_PROTOCOL"]; // Bevat 'HTTP/1.1'

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dan test ik alles met http/1.1
PHP:
1
2
3
4
5
6
7
header("HTTP/1.1 403.6 Forbidden: IP address rejected");
//werkt half, krijg een kale 403 en geen 403.6

header("HTTP/1.1 403;6 IP address rejected");
//en
header("HTTP/1.1 403.6 IP address rejected");
//etc.

Deze geven allemaal een standaard 403 en niet de 403.6
Mijn pc kan gewoon HTTP 1.1 aan, dus dat zou geen probleem moetten zijn.

Acties:
  • 0 Henk 'm!

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 03-09 14:12
Aangezien ik al mijn bedenkingen had bij het gebruik van punten in status codes, heb ik het maar even opgezocht in de specs [1]. Daar staat in vermeld dat de status code op de volgende manier moet zijn opgebouwd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Status-Code    =
            "100"  ; Section 10.1.1: Continue
          | "101"  ; Section 10.1.2: Switching Protocols
          | "200"  ; Section 10.2.1: OK
          | "201"  ; Section 10.2.2: Created
          | "202"  ; Section 10.2.3: Accepted
          | "203"  ; Section 10.2.4: Non-Authoritative Information
          | "204"  ; Section 10.2.5: No Content
          | "205"  ; Section 10.2.6: Reset Content
          | "206"  ; Section 10.2.7: Partial Content
          | "300"  ; Section 10.3.1: Multiple Choices
          | "301"  ; Section 10.3.2: Moved Permanently
          | "302"  ; Section 10.3.3: Found
          | "303"  ; Section 10.3.4: See Other
          | "304"  ; Section 10.3.5: Not Modified
          | "305"  ; Section 10.3.6: Use Proxy
          | "307"  ; Section 10.3.8: Temporary Redirect
          | "400"  ; Section 10.4.1: Bad Request
          | "401"  ; Section 10.4.2: Unauthorized
          | "402"  ; Section 10.4.3: Payment Required
          | "403"  ; Section 10.4.4: Forbidden
          | "404"  ; Section 10.4.5: Not Found
          | "405"  ; Section 10.4.6: Method Not Allowed
          | "406"  ; Section 10.4.7: Not Acceptable

          | "407"  ; Section 10.4.8: Proxy Authentication Required
          | "408"  ; Section 10.4.9: Request Time-out
          | "409"  ; Section 10.4.10: Conflict
          | "410"  ; Section 10.4.11: Gone
          | "411"  ; Section 10.4.12: Length Required
          | "412"  ; Section 10.4.13: Precondition Failed
          | "413"  ; Section 10.4.14: Request Entity Too Large
          | "414"  ; Section 10.4.15: Request-URI Too Large
          | "415"  ; Section 10.4.16: Unsupported Media Type
          | "416"  ; Section 10.4.17: Requested range not satisfiable
          | "417"  ; Section 10.4.18: Expectation Failed
          | "500"  ; Section 10.5.1: Internal Server Error
          | "501"  ; Section 10.5.2: Not Implemented
          | "502"  ; Section 10.5.3: Bad Gateway
          | "503"  ; Section 10.5.4: Service Unavailable
          | "504"  ; Section 10.5.5: Gateway Time-out
          | "505"  ; Section 10.5.6: HTTP Version not supported
          | extension-code

      extension-code = 3DIGIT
      Reason-Phrase  = *<TEXT, excluding CR, LF>
Er staat dus dat de status code altijd een getal is van 3 nummers.

[1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
freak007 schreef op 16 April 2003 @ 03:54:
Aangezien ik al mijn bedenkingen had bij het gebruik van punten in status codes, heb ik het maar even opgezocht in de specs [1]. Daar staat in vermeld dat de status code op de volgende manier moet zijn opgebouwd:
[knipdecode]
Er staat dus dat de status code altijd een getal is van 3 nummers.

[1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html
Ik kan vanuit IIS wel een 403.6 genereren, gewoon op taal van de browser.
Dus waarom zou het niet kunnen vanuit php?

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 16 April 2003 @ 08:21:
Ik kan vanuit IIS wel een 403.6 genereren, gewoon op taal van de browser.
Houd Microsoft zich dan aan de regels?
Dus waarom zou het niet kunnen vanuit php?
Misschien omdat die jou dwingt het goed te doen?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
WAt is eigenlijk het grote voordeel van het gebruik van die .6 ? kun je daar speciale dingen mee doen oid? Een 403 was geloof ik een server-error, kan je die dan dus specificeren?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 16 April 2003 @ 08:26:
[...]
Houd Microsoft zich dan aan de regels?
[...]
Misschien omdat die jou dwingt het goed te doen?
Wietse wat denk je zelf? Microsoft houdt zich toch nooit aan de regels, wel dan?
djluc schreef op 16 april 2003 @ 10:09:
WAt is eigenlijk het grote voordeel van het gebruik van die .6 ? kun je daar speciale dingen mee doen oid? Een 403 was geloof ik een server-error, kan je die dan dus specificeren?
.6 is een IP Rejected, dus laat ik het zo zeggen; Een IP ban. Dit wil ik gebruiken in een script waardat ik per username en per IP een ban kan geven. Wel mooier dan een kale 403.

En nee een 403 is GEEN server error, maar dit is een Forbidden ;)
5xx zijn server errors(serverside probleem).
4xx zijn client errors(dus gegenereerd dankzij de client, waardoor de server niet goed werkt).

Ik zou als het allemala niet werkt natuurlijk gewoon de html kunnen versturen van de 403.6, even opslaan hier op de mainschoolserver en klaar. Maar ik wil weten of het zo kan zonder de laatste mogelijkheid van dat.

[ Voor 28% gewijzigd door Verwijderd op 16-04-2003 10:33 ]


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 16 April 2003 @ 10:17:
.6 is een IP Rejected, dus laat ik het zo zeggen; Een IP ban. Dit wil ik gebruiken in een script waardat ik per username en per IP een ban kan geven. Wel mooier dan een kale 403.
Wie heeft die .6 bedacht dan?

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 16 april 2003 @ 10:17:
[...]

Wietse wat denk je zelf? Microsoft houdt zich toch nooit aan de regels, wel dan?
OlafvdSpek schreef op 16 april 2003 @ 12:18:
[...]

Wie heeft die .6 bedacht dan?
Dus: Microsoft is jou probleem!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 16 april 2003 @ 21:02:
Dus: Microsoft is jou probleem!
Zoals ik gewoonlijk zeg "K*T Microsoft, hou je aan de standaarden stelletje !@#$!$@ :r ".
:P

Acties:
  • 0 Henk 'm!

Verwijderd

Wat zou er volgens jou moeten gebeuren als je een HTTP/1.0 403.6 Forbidden: IP address rejected header stuurt?

Het is mogelijk om een 404 header te sturen, maar toch gewoon de pagina op de locatie te tonen. Het is mogelijk een 200 header te sturen, en toch om BASIC authentication te vragen. Het zijn maar headers...

Wil je meer informatie sturen? Stúúr die dan ook, ná de headers. Vertel de browser wat hij moet laten zien. Maar ga niet lopen afgeven op een browser omdat hij niet alles uit een magische hoed tovert.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 16 April 2003 @ 22:04:
Wat zou er volgens jou moeten gebeuren als je een HTTP/1.0 403.6 Forbidden: IP address rejected header stuurt?

Het is mogelijk om een 404 header te sturen, maar toch gewoon de pagina op de locatie te tonen. Het is mogelijk een 200 header te sturen, en toch om BASIC authentication te vragen. Het zijn maar headers...

Wil je meer informatie sturen? Stúúr die dan ook, ná de headers. Vertel de browser wat hij moet laten zien. Maar ga niet lopen afgeven op een browser omdat hij niet alles uit een magische hoed tovert.
Het gaat *niet* over de browser.
Pagina: 1