Token淺談Token,就是令牌,最大的特點就是隨機性,不可預測。一般駭客或軟體無法猜測出來。那麼,Token有什麼作用?又是什麼原理呢?Token一般用在兩個地方——防止表單重複提交、anti csrf攻擊(跨網站請求偽造)。兩者在原理上都是通過session
1、模板中的注釋每一個Smarty模板檔案,都是通過Web前台語言(XHTML、CSS和JavaScript等)結合Smarty引擎的文法共同開發的。除了在模板中多加了一些Smarty文法用來處理常式邏輯以外,用到的其他Web前台開發語言和原來完成一樣,注釋也沒有變化。如果在模板檔案中使用HTML或是JavaScript等前台語言的注釋,使用者可以通過瀏覽網頁原始碼的方式查看到這些注釋內容。Smarty也在模板中給我們提供了一種注釋的文法,包圍在定界標記”{*”和&rdq
3DES(或稱為Triple DES)是三重資料加密演算法(TDEA,Triple Data Encryption Algorithm)塊密碼的通稱。它相當於是對每個資料區塊應用三次DES密碼編譯演算法。由於電腦運算能力的增強,原版DES密碼的密鑰長度變得容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的密鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼演算法。 代碼如下複製代碼 <?phpclass Crypt3Des {var
近段時間接到一個比較奇葩的需求,對方要求在企業站中加入一個類似word的表單,並供使用者線上填寫與提交。仔細看了一下,該表單的欄位高達一百多個,這個量級是相當可怕的。如果每個input手動去填寫id和name的話,該是一個多麼可怕的體力活啊。反覆思考了一下,為避免苦逼的去逐個填寫input的id與name,決定用JS配合PHP的方式來解決這個表單一連串的提交工作。 表單組成部分表單首先按照客戶的要求,將需要填寫的表格與選項按照word文檔的原型進行布局,使其符合使用者體驗,如下圖:&n
以下是Discuz的一個報錯。Fatal error: require_once() [function.require]: Failed opening required './source/class/class_core.php' (include_path='.;c:php5pear') in D:webBBSindex.php on line 14 解決辦法修改php.ini設定檔。 代碼如下複製代碼 ; Windows:
今天在Linux底下上傳Excel檔案時,拋出“ZipArchive library is not enabled” 的異常。而我在本地的windows下的代碼則是運行正常的。 原因是:在Linux下沒有php_zip.dll這個檔案(有也不會起作用的),所以需要重新編譯一下php的zip模組。
比較字串是任何程式設計語言的字串處理功能中重要的特性之一。在PHP中除了可以使用比較子號(==、<或>)加以比較外,還提供了一系列的比較函數,使PHP可以進行更複雜的字串比較。如strcmp()、strcasecmp()和strnatcmp()等函數。1.按位元組順序進行字串比較要按位元組順序進行字串的比較,可以使用strcmp()和strcasecmp()兩個函數,其中函數strcasecmp()可以忽略字串中字母的大小寫進行比較。這兩個函數的原型如下所示:
第一種方法即設定php.ini設定檔,設定session.gc_maxlifetime和session.cookie_lifetime節點屬性值,當然也可以使用ini_set函數改變當前上下文環境的屬性值: 代碼如下複製代碼 ini_set('session.gc_maxlifetime', "3600"); // 秒ini_set("session.cookie_lifetime","3600"); // 秒
php多維陣列排序可以用array_multisort() 函數來處理,array_multisort() 函數可以用來一次對多個數組進行排序,或者根據某一維或多維對多維陣列進行排序,關聯(string)鍵名保持不變,但數字鍵名會被重新索引排序次序標誌:SORT_ASC - 按照上升順序排序SORT_DESC - 按照下降順序排序排序類型標誌:SORT_REGULAR - 將項目按照通常方法比較SORT_NUMERIC - 將項目按照數值比較SORT_STRING - 將項目按照字串比較例子 1
md5($str) 給字串進行雜湊加密執行個體*/$str="hello world"; //定義字串$result=md5($str); //執行加密操作echo $result; &
程式 代碼如下複製代碼 /** * $str 原始字串 * $encoding 原始字串的編碼,預設GBK * $prefix 編碼後的首碼,預設"&#" * $postfix 編碼後的尾碼,預設";" */function unicode_encode($str, $encoding = 'GBK', $prefix = '&#', $postfix = ';') {&
大多數流行的 Web 服務如 twitter 通過開放 API 來提供資料一樣,它總是能夠知道如何解析 API 資料的各種傳送格式,包括 JSON,XML
下面4個參數的意思分別為:pm.max_children:靜態方式下開啟的php-fpm進程數量。pm.start_servers:動態方式下的起始php-fpm進程數量。pm.min_spare_servers:動態方式下的最小php-fpm進程數量。pm.max_spare_servers:動態方式下的最大php-fpm進程數量。註:以記憶體512M的VPS來說,建議設定的參數如下,僅供參考:pm=dynamicpm.max_children=20pm.start_servers=5pm.m
header() 函數向用戶端發送原始的 http 前序。認識到一點很重要,即必須在任何實際的輸出被發送之前調用 header() 函數(在 php教程 4 以及更高的版本中,您可以使用輸出緩衝來解決此問題):<html><?php// 結果出錯// 在調用 header() 之前已存在輸出header('location: http://www.111cn.net/');?>文法header(string,replace,http_response_code)參數
用 array_map() 調用 mysql_real_escape_string 清理數組由於 mysql_real_escape_string 需要 MySQL 資料庫串連,因此,在調用 mysql_real_escape_string 之前,必須串連上 MySQL 資料庫。 代碼如下複製代碼 <?php// 說明:用 array_map() 調用 mysql_real_escape_string 清理數組//
$_SERVER['HTTP_ACCEPT_LANGUAGE']//瀏覽器語言 $_SERVER['REMOTE_ADDR'] //目前使用者 IP 。 $_SERVER['REMOTE_HOST'] //目前使用者主機名稱 $_SERVER['REQUEST_URI'] //URL$_SERVER['REMOTE_PORT'] //連接埠。$_SERVER['SERVER_NAME'] //伺服器主機的名稱。$_SERVER['PHP_SELF']//正在執行指令碼的檔案名稱$_SERVER[
<?php教程 $doc = new DOMDocument(); $doc->load( 'books.xml' ); $books = $doc->getElementsByTagName( "book" ); foreach( $books as $book ) { $authors =
PhpMyAdmin 不能匯出資料的問題,點擊匯出後先是一個請求失敗或者白頁,重新重新整理後就報錯 export.php: Missing parameter: what (FAQ 2.8)export.php: Missing parameter: export_type (FAQ 2.8) 解決方案是:php目錄下的php.ini 設定要調整一下原來的 post_max_size = 8M ,改大到 post_max_size = 20M
<?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每頁字數 $CLength = strlen($content); $PageCount = floor(($CLength / $PageLength)) + 1; //計算頁數 $PageArray=array(); $Seperator = array("n","r","。
1、$_SERVER$_SERVER超級全域變數包含由web伺服器建立的資訊,它提供了伺服器和客戶配置及當前請求環境的有關資訊。根據伺服器不同,$_SERVER中的變數值和變數個數會有差別,不過一般都可以找到CGI1.1規範中定義的變數。其中包括:$_SERVER['HTTP_REFERER']; 引導使用者到達當前位置的頁面的URL ;$_SERVER['REMOTE_ADDR']; 客戶IP地址 ;$_SERVER['REQUEST_URI']; URL的路徑部分。如果URL是