Maison >développement back-end >tutoriel php >Déterminer le référent en PHP
L'éditeur PHP Strawberry vous présentera aujourd'hui comment déterminer le référent en PHP. Le référent fait partie de l'en-tête de la requête HTTP et est utilisé pour identifier la page source de la requête. Lors du processus de développement, il est parfois nécessaire d'obtenir des informations référentes pour mettre en œuvre des fonctions spécifiques, comme l'anti-sangsue, l'analyse statistique, etc. Les informations sur les référents peuvent être facilement obtenues via PHP pour implémenter les fonctions associées. Ensuite, nous présenterons en détail comment déterminer le référent en PHP, afin que chacun puisse facilement maîtriser cette technique.
$_SESS<strong class="keylink">io</strong>N[]
dans $_SESS<strong class="keylink">io</strong>N[]
PHP
HTTP_REFERER
Puisque peut être usurpé/falsifié, php
Nous allons créer deux pages de démonstration pour cet article.
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
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['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>Résultat :
referer
的传统方法在大多数情况下并不可靠,但仍被广泛使用。为了更安全,我们建议使用 session
或 (<strong class="keylink">ajax</strong>
) 而不是 HTTP
Il est important de noter que même si la méthode traditionnelle de détermination du référent
n'est pas fiable dans la plupart des cas, elle est encore largement utilisée. Pour plus de
session
ou (🎜ajax🎜
) au lieu de HTTP
. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!