<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                永遠不要信任外部輸入。請在使用外部輸入前進行過濾和驗證。`filter_var()` 和 `filter_input()` 函數可以過濾文本并對格式進行校驗(例如 email 地址)。 外部輸入可以是任何東西:`$_GET` 和 `$_POST` 等表單輸入數據,`$_SERVER` 超全局變量中的某些值,還有通過 `fopen('php://input', 'r') `得到的 HTTP 請求體。記住,外部輸入的定義并不局限于用戶通過表單提交的數據。上傳和下載的文檔,session 值,cookie 數據,還有來自第三方 web 服務的數據,這些都是外服輸入。 雖然外部輸入可以被存儲、組合并在以后繼續使用,但它依舊是外部輸入。每次你處理、輸出、連結或在代碼中包含時,請提醒自己檢查數據是否已經安全地完成了過濾。 數據可以根據不同的目的進行不同的 過濾 。比如,當原始的外部輸入被傳入到了 HTML 頁面的輸出當中,它可以在你的站點上執行 HTML 和 JavaScript 腳本!這屬于跨站腳本攻擊(XSS),是一種很有殺傷力的攻擊方式。一種避免 XSS 攻擊的方法是在輸出到頁面前對所有用戶生成的數據進行清理,使用 `strip_tags()` 函數來去除 HTML 標簽或者使用 `htmlentities()` 或是 `htmlspecialchars()` 函數來對特殊字符分別進行轉義從而得到各自的 HTML 實體。 另一個例子是傳入能夠在命令行中執行的選項。這是非常危險的(同時也是一個不好的做法),但是你可以使用自帶的 `escapeshellarg()` 函數來過濾執行命令的參數。 最后的一個例子是接受外部輸入來從文件系統中加載文件。這可以通過將文件名修改為文件路徑來進行利用。你需要過濾掉"/", "../", [null 字符](http://php.net/security.filesystem.nullbytes)或者其他文件路徑的字符來確保不會去加載隱藏、私有或者敏感的文件。 * [學習更多數據過濾](http://php.net/book.filter) * [學習更多 filter_var](http://php.net/function.filter-var) * [學習更多 filter_input](http://php.net/function.filter-input) * [學習更多 null 字符問題](http://php.net/security.filesystem.nullbytes) ### 數據清理 數據清理是指刪除(或轉義)外部輸入中的非法和不安全的字符。 例如,你需要在將外部輸入包含在 HTML 中或者插入到原始的 SQL 請求之前對它進行過濾。當你使用 [PDO ](http://laravel-china.github.io/php-the-right-way/#databases)中的限制參數功能時,它會自動為你完成過濾的工作。 有些時候你可能需要允許一些安全的 HTML 標簽輸入進來并被包含在輸出的 HTML 頁面中,但這實現起來并不容易。盡管有一些像 [HTML Purifier](http://htmlpurifier.org/) 的白名單類庫為了這個原因而出現,實際上更多的人通過使用其他更加嚴格的格式限制方式例如使用 Markdown 或 BBCode 來避免出現問題。 [查看 Sanitization Filters](http://php.net/filter.filters.sanitize) ### 有效性驗證 驗證是來確保外部輸入的是你所想要的內容。比如,你也許需要在處理注冊申請時驗證 email 地址、手機號碼或者年齡等信息的有效性。 [查看 Validation Filters](http://php.net/filter.filters.validate)
                  <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>

                              哎呀哎呀视频在线观看