用cookie检查用户是否登录,是否安全?
用cookie检查用户是否登录,是否安全?
$cookies = $_COOKIE["wordpress_logged_in_".md5("http://localhost/wp")];<br /> $userinfo = explode('|',$cookies);<br /> $db = mysql_connect("localhost","root","root");<br /> mysql_select_db("wp",$db);<br /> mysql_query("SET NAMES utf8");<br /> $result = @mysql_query("SELECT user_login FROM wp_users where user_login ='".mysql_real_escape_string($userinfo[0])."' limit 1");<br /> $total = mysql_num_rows($result);<br /> mysql_close($db);<br /> if($total>0){<br /> echo 'hello: '.$userinfo[0]);<br /> }else{<br /> echo '<a href="http://localhost/wp/login.php"'>Login</a>';//如果没有登录,一个登录超链。<br /> }
------解决方案--------------------
安全与否,是看你写的代码,和cookie没有关系,关键是看你怎么应用cookie
------解决方案--------------------
+1
把密码写进cookie的话,那啥都不用问了
------解决方案--------------------
最好加个检验用的cookie用于检验cookies是否被修改(欺骗);
简单步骤如下:
1.用户id或用户名写入cookie,名A
2.将用户id或用户名使用如下方法加密后写入cookie,名B
3.在需要判断登录的地方,解密下B,判断是否同A即可
分享代码:
<br> /**<br> * 安全代码<br> * @param string $string 要处理的文本<br> * @param string $operation 处理方式(DECODE:解码,ENCODE:编码)<br> * @param string $key 密匙<br> * @param int $expiry 过期时间<br> * @return string<br> */<br> function oauthCode($string, $operation = 'DECODE', $key = '', $expiry = 0)<br> {<br> $ckey_length = 4;<br> $key = md5($key != '' ? $key : '31415926');//默认密钥<br> $keya = md5(substr($key, 0, 16));<br> $keyb = md5(substr($key, 16, 16));<br> $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';<br> $cryptkey = $keya.md5($keya.$keyc);<br> $key_length = strlen($cryptkey);<br> $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;<br> $string_length = strlen($string);<br> $result = '';<br> $box = range(0, 255);<br> $rndkey = array();<br> for($i = 0; $i {<br> $rndkey[$i] = ord($cryptkey[$i % $key_length]);<br> }<br> for($j = $i = 0; $i {<br> $j = ($j + $box[$i] + $rndkey[$i]) % 256;<br> $tmp = $box[$i];<br> $box[$i] = $box[$j];<br> $box[$j] = $tmp;<br> }<br> for($a = $j = $i = 0; $i {<br> $a = ($a + 1) % 256;<br> $j = ($j + $box[$a]) % 256;<br> $tmp = $box[$a];<br> $box[$a] = $box[$j];<br> $box[$j] = $tmp;<br> $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); <div class="clear"> </div>

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版
好用的JavaScript開發工具