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.
$_SESS<strong class="keylink">io</strong>N[]
dalam $_SESS<strong class="keylink">io</strong>N[]
PHP
HTTP_REFERER
Memandangkan boleh ditipu/dipalsukan, php
Kami akan membuat dua halaman demo untuk artikel ini.
userrequest.php
<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['set'] = $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['set'];//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('Location:userrequest.php'); exit; //exit to release unnessary server load } ?> </form> </body> </html> </code></code>
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
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!