Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse der Funktion verschlüsselter Parameter, die von der U-Methode in thinkPHP übergeben werden

Analyse der Funktion verschlüsselter Parameter, die von der U-Methode in thinkPHP übergeben werden

不言
不言Original
2018-06-09 14:22:202225Durchsuche

In diesem Artikel wird hauptsächlich die Funktion zur verschlüsselten Parameterübertragung mit der U-Methode in thinkPHP vorgestellt und die relevanten Betriebsfähigkeiten von thinkPHP mithilfe der U-Methode zum Verschlüsseln von Parametern in Form von Beispielen analysiert. Freunde in Not können sich darauf beziehen.

Das Beispiel in diesem Artikel beschreibt die mit der U-Methode verschlüsselte Parameterübergabefunktion in thinkPHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Die U-Methode in thinkPHP wird zum Zusammenstellen der URL-Adresse verwendet. Die entsprechende URL-Adresse kann basierend auf dem aktuellen URL-Modus und den aktuellen Einstellungen automatisch generiert werden.

Der spezifische Code lautet wie folgt:

<?php
/**
 * 简单对称加密算法之加密
 * @param String $string 需要加密的字串
 * @param String $skey 加密EKY
 */
function encode($string = &#39;&#39;, $skey = &#39;yourkey&#39;) {
 $strArr = str_split(base64_encode($string));
 $strCount = count($strArr);
 foreach (str_split($skey) as $key => $value)
  $key < $strCount && $strArr[$key].=$value;
 return str_replace(array(&#39;=&#39;, &#39;+&#39;, &#39;/&#39;), array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), join(&#39;&#39;, $strArr));
}
/**
 * 简单对称加密算法之解密
 * @param String $string 需要解密的字串
 * @param String $skey 解密KEY
 */
function decode($string = &#39;&#39;, $skey = &#39;yourkey&#39;) {
 $strArr = str_split(str_replace(array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), array(&#39;=&#39;, &#39;+&#39;, &#39;/&#39;), $string), 2);
 $strCount = count($strArr);
 foreach (str_split($skey) as $key => $value)
  $key <= $strCount && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
 return base64_decode(join(&#39;&#39;, $strArr));
}
/**
将以上两个函数放在Common下的function.php公共函数中。
用法:常用语get传参
 前端:<a href="<{:U(&#39;Index/view&#39;,array(&#39;id&#39;=>encode($data[&#39;id&#39;]),&#39;name&#39;=>encode($data[&#39;title&#39;])))}>" rel="external nofollow" ><{$data.title}></a>
 后台:view方法中:$id = decode(trim(I("get.id")));即可还原
 view模板中:<font color="red"><{$Think.get.name|decode}></font>
**/
/*建议将key自行修改,尽量不要太长,不然url很长,适当即可,加密性能很好,亲测*/

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist PHP chinesische Website!

Verwandte Empfehlungen:

Analyse der N-Methode von ThinkPHP

Nutzungsanalyse der I-Methode von ThinkPHP

Das obige ist der detaillierte Inhalt vonAnalyse der Funktion verschlüsselter Parameter, die von der U-Methode in thinkPHP übergeben werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn