Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4703 > unrolled thread

Verwendung von $_SERVER (was: Validator kaputt?)

Started bySebastian Suchanek <sebastian.suchanek@gmx.de>
First post2021-05-16 18:07 +0200
Last post2021-05-16 15:10 -0400
Articles 2 — 2 participants

Back to article view | Back to de.comp.lang.php

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Verwendung von $_SERVER (was: Validator kaputt?) Sebastian Suchanek <sebastian.suchanek@gmx.de> - 2021-05-16 18:07 +0200
    Re: Verwendung von $_SERVER Andreas Kohlbach <ank@spamfence.net> - 2021-05-16 15:10 -0400

#4703 — Verwendung von $_SERVER (was: Validator kaputt?)

FromSebastian Suchanek <sebastian.suchanek@gmx.de>
Date2021-05-16 18:07 +0200
SubjectVerwendung von $_SERVER (was: Validator kaputt?)
Message-ID<s7rg0g$n9v$1@msgid.suchanek.de>
Am 16.05.2021 um 16:56 schrieb Andreas Kohlbach:
> On Sun, 16 May 2021 10:34:14 +0200, Sebastian Suchanek wrote:
>>
>> Am 16.05.2021 um 09:45 schrieb Andreas Kohlbach:
>>
>>> [Link für W3C-Validator]
>>> Für
>>> <?php
>>>    echo "http://validator.w3.org/check?uri=" . $_SERVER['HTTP_REFERER'];
>>> ?>
>>> habe ich eine oder zwei Minuten gebraucht. Vielleicht nicht "schön",
>>> aber
>>> kostenlos.
>>
>> ...und vor allem fchals.
>>
>> Wenn, dann eher etwas wie:
>>
>> <?php
>>   echo
>>   'http://validator.w3.org/check?uri=http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
>> ?>
>>
>> (Ungetestet!)
> 
> Auf meinem Server (lighttp) geben Deine und meine Zeile Identisches aus.

Ich nehme an, Du hast Deinen Testcase im Browser direkt aufgerufen?

> Wenn meine falsch wäre, hätte der Server sich beschweren sollen. Apache
> oder so habe ich zum Testen nicht zur Verfügung.

RTFM[1]:

| [...]
| 'HTTP_REFERER'
|     The address of the page (if any) which referred the user agent to
|     the current page. This is set by the user agent. Not all user
|     agents will set this, and some provide the ability to modify
|     HTTP_REFERER as a feature. In short, it cannot really be trusted.
| [...]

IOW: Deine Zeile schickt baut nicht die URL von Alex' Seite in den 
Validator-Link ein, sondern den Referer, von dem aus der Bersucher auf 
Alex' Seite gekommen ist. Das kann eine andere Seite von Alex sein, das 
kann Google sein...
Und warum die Verwendung von $_SERVER['HTTP_REFERER'] an sich keine gute 
Idee ist, ist auch angedeutet.


Tschüs,

Sebastian

PS: XP & f'up2 de.comp.lang.php

_____
[1] https://www.php.net/manual/en/reserved.variables.server.php

[toc] | [next] | [standalone]


#4704 — Re: Verwendung von $_SERVER

FromAndreas Kohlbach <ank@spamfence.net>
Date2021-05-16 15:10 -0400
SubjectRe: Verwendung von $_SERVER
Message-ID<8735umwl3j.fsf@usenet.ankman.de>
In reply to#4703
On Sun, 16 May 2021 18:07:45 +0200, Sebastian Suchanek wrote:
>
> Am 16.05.2021 um 16:56 schrieb Andreas Kohlbach:
>> On Sun, 16 May 2021 10:34:14 +0200, Sebastian Suchanek wrote:
>>>
>>> Am 16.05.2021 um 09:45 schrieb Andreas Kohlbach:
>>>
>>>> [Link für W3C-Validator]
>>>> Für
>>>> <?php
>>>>    echo "http://validator.w3.org/check?uri=" . $_SERVER['HTTP_REFERER'];
>>>> ?>
>>>> habe ich eine oder zwei Minuten gebraucht. Vielleicht nicht "schön",
>>>> aber
>>>> kostenlos.
>>>
>>> ...und vor allem fchals.
>>>
>>> Wenn, dann eher etwas wie:
>>>
>>> <?php
>>>   echo
>>>   'http://validator.w3.org/check?uri=http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
>>> ?>
>>>
>>> (Ungetestet!)
>> Auf meinem Server (lighttp) geben Deine und meine Zeile Identisches
>> aus.
>
> Ich nehme an, Du hast Deinen Testcase im Browser direkt aufgerufen?

Ja, wenn auch nur in einem Text-Browser.

Eben sehe ich erst, dass erst bei einem Reload identisch Ausgaben
erfolgen. Ich hatte also Unrecht, dass die Ausgabe (beim ersten Aufruf)
identisch ist. Hier mal die Datei. Erst meine falschen Zeilen, nach dem
<br> Deine Richtige:

<?php
  echo "http://validator.w3.org/check?uri=" . $_SERVER['HTTP_REFERER'];
?>
<br>
<?php
  echo
  'http://validator.w3.org/check?uri=http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
?>

Zu sehen auf <http://23.233.245.78/referertesting.php> für 48 Stunden.

>> Wenn meine falsch wäre, hätte der Server sich beschweren sollen. Apache
>> oder so habe ich zum Testen nicht zur Verfügung.
>
> RTFM[1]:
>
> | [...]
> | 'HTTP_REFERER'
> |     The address of the page (if any) which referred the user agent to
> |     the current page. This is set by the user agent. Not all user
> |     agents will set this, and some provide the ability to modify
> |     HTTP_REFERER as a feature. In short, it cannot really be trusted.
> | [...]
>
> IOW: Deine Zeile schickt baut nicht die URL von Alex' Seite in den
> Validator-Link ein, sondern den Referer, von dem aus der Bersucher auf 
> Alex' Seite gekommen ist. Das kann eine andere Seite von Alex sein,
> das kann Google sein...
> Und warum die Verwendung von $_SERVER['HTTP_REFERER'] an sich keine
> gute Idee ist, ist auch angedeutet.

Hast Recht; habe zu kurz gedacht, und nur nach "Referer" gegoogelt.

> PS: XP & f'up2 de.comp.lang.php

Okay, wenn ich aber nur unregelmäßig rein schaue. Bin kein
PHP-Programmierer, bzw. habe nur an der Oberfläche gekratzt.
-- 
Andreas

PGP fingerprint 952B0A9F12C2FD6C9F7E68DAA9C2EA89D1A370E0

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.lang.php


csiph-web