Heim  >  Artikel  >  Backend-Entwicklung  >  Referrer in PHP ermitteln

Referrer in PHP ermitteln

王林
王林nach vorne
2024-02-28 11:04:06820Durchsuche

Der PHP-Editor Strawberry stellt Ihnen heute vor, wie Sie den Referrer in PHP ermitteln. Der Referrer ist Teil des HTTP-Anfrage-Headers und wird verwendet, um die Quellseite der Anfrage zu identifizieren. Während des Entwicklungsprozesses ist es manchmal erforderlich, Referenzinformationen zu erhalten, um bestimmte Funktionen wie Anti-Leeching, statistische Analyse usw. zu implementieren. Referrer-Informationen können einfach über PHP abgerufen werden, um verwandte Funktionen zu implementieren. Als nächstes stellen wir detailliert vor, wie man den Referrer in PHP ermittelt, damit jeder diese Technik leicht beherrschen kann.


Verwenden Sie $_SESS<strong class="keylink">io</strong>N[] in $_SESS<strong class="keylink">io</strong>N[]PHP

, um den Referrer zu bestimmen

HTTP_REFERER Da gefälscht/gefälscht werden kann, ermöglicht uns php

die Verwendung von Sitzungen/Cookies, um festzustellen, ob eingehende Benutzeranfragen von Ihrer Domain (Server) kommen.

Wir werden für diesen Artikel zwei Demoseiten erstellen.

userrequest.php

Code:

<code>
<code class="language-php+HTML hljs" data-lang="php+HTML"><!DOCTYPE <strong class="keylink">html</strong>>
<body>
<f<strong class="keylink">ORM</strong> action ="determineuser.php" method ="post" align="center">
<input type ="submit" name="click" value="Determine user request through session"/>

<?php
session_start(); //first we start session
$setsession = uniqid(mt_rand(), TRUE); //Set it true, assign mt_rand to ensure secuity
$_SESSION[&#39;set&#39;] = $setsession;
//we can use url to export session over servers
$redirect = "determineuser.php?set={$setsession}"; // this url can be on any server
?>

<br>
<h1 align="center">

<?php
echo "Your current session is:".$_SESSION['set']; //check session on page 1
echo"<br>";
?>
</form>
</body>
</html>
</code></code>
determineuser.php Code:

<code>
<code class="language-php+HTML hljs" data-lang="php+HTML"><?php
session_start(); //check if the session and form input is set
if ( (isset( $_SESSION[ 'set' ] ) && $_SESSION[ 'set' ] === TRUE ) || isset( $_POST[ 'click' ] ) ) {
echo "Determined Last visited page on the server using HTTP REFERER:<br>".$_SERVER['HTTP_REFERER'];
?>

<h1 align="center">
<p> This is the secure way to determine referer using session:</p>

<?php
echo $_SESSION[&#39;set&#39;];//check session on page 2 (compare to determine from the last page)
?>

</h1>

<?php
} else {
//if the dom<strong class="keylink">ai</strong>n referer is not determined, header function will redirect the user page to the last page
header(&#39;Location:userrequest.php&#39;);
exit; //exit to release unnessary server load
}
?>
</form>
</body>
</html>
</code></code>
Ausgabe:

在 PHP 中确定 referer

referer 的传统方法在大多数情况下并不可靠,但仍被广泛使用。为了更安全,我们建议使用 session 或 (<strong class="keylink">ajax</strong>) 而不是 HTTP Es ist wichtig zu beachten, dass die herkömmliche Methode zur Bestimmung von referer zwar in den meisten Fällen unzuverlässig ist, aber immer noch weit verbreitet ist. Für mehr

Sicherheit🎜 empfehlen wir die Verwendung von session oder (🎜ajax🎜) anstelle von HTTP. 🎜

Das obige ist der detaillierte Inhalt vonReferrer in PHP ermitteln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen