<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ## 表單提交get和post? get 請求一般用于向服務端獲取數據,post 一般向服務端提交數據 get 傳輸的參數在 url 中,傳遞參數大小有限制,post 沒有大小限制, get 不安全,post 安全性比get高 get請求在服務端用Request.queryString 接受 ,post 請求在服務端用Requset.form 接收。 ? ## echo(),print(),print_r()的區別 echo是PHP語句, print和print_r是函數,語句沒有返回值,函數可以有返回值(即便沒有用) print() 只能打印出簡單類型變量的值(如int,string) print_r() 可以打印出復雜類型變量的值(如數組,對象) echo 輸出一個或者多個字符串 ? ? **echo()** 可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而并不是真正的函數,因此不能作為表達式的一部分使用。 ? **print()** 函數print()打印一個值(它的參數),如果字符串成功顯示則返回true,否則返回false。 ? **print_r()** 可以把字符串和數字簡單地打印出來,而數組則以括起來的鍵和值得列表形式顯示,并以Array開頭。但print\\\_r()輸出布爾值和NULL的結果沒有意義,因為都是打印"\\\\n"。因此用var\\\_dump()函數更適合調試。 ? **var_dump()** 判斷一個變量的類型與長度,并輸出變量的數值,如果變量有值輸的是變量的值并回返數據類型。此函數顯示關于一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。 ? ## 語句include和require? 1、加載失敗的處理方式不同 include與require除了在處理引入文件的方式不同外,最大的區別就是: include在引入不存在的文件時,產生一個警告且腳本還會繼續執行, require則會導致一個致命性錯誤且腳本停止執行。 ? 2、include()是有條件包含函數,而 require()則是無條件包含函數。 ? `if(FALSE){` `include?'file.php';?//file.php不會被引入` `}` ? `if(FALSE){` `require?'file.php';?//file.php將會被引入` `}` ? 3、文件引用方式 ? include有返回值,而require沒有 ? `$retVal?=?include(’somefile.php’);` `if(!empty($retVal)){` `echo?"文件包含成功";` `}else{` `echo?"文件包含失敗";` `}` ? 可以用include_once,require_once代替,表示文件只引入一次,引入之后則不在引入,作為優化點. ? ## composer是什么?Composer和PHP有什么關系? ? Composer是PHP的一個依賴(dependency)管理工具,在我們的項目中聲明所依賴的外部工具庫(libraries),Composer 可以幫助我們安裝這些依賴的庫文件。Composer可以全局安裝也可以局部安裝,默認不是全局安裝的,是基于指定項目的某個目錄進行安裝的。 ? ## session與cookie的區別是什么? 1、保持狀態: ? cookie和session都是用來跟蹤瀏覽器用戶身份的會話方式。 2、使用方式: (1)cookie機制:如果不在瀏覽器中設置過期時間,cookie被保存在內存中,生命周期隨瀏覽器的關閉而結束,這種cookie簡稱會話cookie。如果在瀏覽器中設置了cookie的過期時間,cookie被保存在硬盤中,關閉瀏覽器后,cookie數據仍然存在,直到過期時間結束才消失。 ? Cookie是服務器發給客戶端的特殊信息,cookie是以文本的方式保存在客戶端,每次請求時都帶上它 ? (2)session機制:當服務器收到請求需要創建session對象時,首先會檢查客戶端請求中是否包含sessionid。如果有sessionid,服務器將根據該id返回對應session對象。如果客戶端請求中沒有sessionid,服務器會創建新的session對象,并把sessionid在本次響應中返回給客戶端。通常使用cookie方式存儲sessionid到客戶端,在交互中瀏覽器按照規則將sessionid發送給服務器。如果用戶禁用cookie,則要使用URL重寫,可以通過response.encodeURL(url) 進行實現;API對encodeURL的結束為,當瀏覽器支持Cookie時,url不做任何處理;當瀏覽器不支持Cookie的時候,將會重寫URL將SessionID拼接到訪問地址后。 ? 3、存儲內容: ? cookie只能保存字符串類型,以文本的方式;session通過類似與Hashtable的數據結構來保存,能支持任何類型的對象(session中可含有多個對象) ? 4、存儲的大小: ? cookie:單個cookie保存的數據不能超過4kb; ? session大小沒有限制。 ? 5、安全性: ? cookie:針對cookie所存在的攻擊:Cookie欺騙,Cookie截獲; session的安全性大于cookie。 ## 為什么session的安全性大于cookie? ? 1. sessionID存儲在cookie中,若要攻破session首先要攻破cookie; 2. sessionID是要有人登錄,或者啟動session_start才會有,所以攻破cookie也不一定能得到sessionID; 3. 第二次啟動session_start后,前一次的sessionID就是失效了,session過期后,sessionID也隨之失效。 4. sessionID是加密的 5. 綜上所述,攻擊者必須在短時間內攻破加密的sessionID,這很難。 ? ## session與cookie的應用場景有哪些? ? cookie: (1)判斷用戶是否登陸過網站,以便下次登錄時能夠實現自動登錄(或者記住密碼)。如果我們刪除cookie,則每次登錄必須從新填寫登錄的相關信息。 (2)保存上次登錄的時間等信息。 (3)保存上次查看的頁面。 (4)瀏覽計數。 ? session: ? Session用于保存每個用戶的專用信息,變量的值保存在服務器端,通過SessionID來區分不同的客戶。 ? (1)網上商城中的購物車。 (2)保存用戶登錄信息。 (3)將某些數據放入session中,供同一用戶的不同頁面使用。 (4)防止用戶非法登錄。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看