Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tentukan perujuk dalam PHP

Tentukan perujuk dalam PHP

王林
王林ke hadapan
2024-02-28 11:04:06769semak imbas

Editor PHP Strawberry akan memperkenalkan kepada anda hari ini cara menentukan perujuk dalam PHP. Perujuk adalah sebahagian daripada pengepala permintaan HTTP dan digunakan untuk mengenal pasti halaman sumber permintaan. Semasa proses pembangunan, kadangkala perlu mendapatkan maklumat perujuk untuk melaksanakan fungsi tertentu, seperti anti-lintah, analisis statistik, dsb. Maklumat perujuk boleh diperolehi dengan mudah melalui PHP untuk melaksanakan fungsi berkaitan. Seterusnya, kami akan memperkenalkan secara terperinci bagaimana untuk menentukan perujuk dalam PHP, supaya semua orang dapat menguasai teknik ini dengan mudah.


Gunakan $_SESS<strong class="keylink">io</strong>N[] dalam $_SESS<strong class="keylink">io</strong>N[]PHP

untuk menentukan perujuk

HTTP_REFERER Memandangkan boleh ditipu/dipalsukan, php

membenarkan kami menggunakan sesi/kuki untuk menentukan sama ada permintaan pengguna masuk datang daripada domain (pelayan) anda.

Kami akan membuat dua halaman demo untuk artikel ini.

userrequest.php

Kod:

<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 Kod:

<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>
Keluaran:

在 PHP 中确定 referer

referer 的传统方法在大多数情况下并不可靠,但仍被广泛使用。为了更安全,我们建议使用 session 或 (<strong class="keylink">ajax</strong>) 而不是 HTTP Adalah penting untuk ambil perhatian bahawa walaupun kaedah tradisional untuk menentukan referer tidak boleh dipercayai dalam kebanyakan kes, ia masih digunakan secara meluas. Untuk lebih

keselamatan🎜, kami mengesyorkan menggunakan session atau (🎜ajax🎜) dan bukannya HTTP. 🎜

Atas ialah kandungan terperinci Tentukan perujuk dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam