2016-12-02 105 views
0

我有HTML網站,我們正在使用PHP代碼來管理聯繫人頁面。目前,我們正面臨來自安全掃描的URL注入警報的問題。發現問題是以下兩行PHP代碼,但無法驗證日期輸入。網址注入問題與PHP網站

<div class="field calendar"><input name="contact-arrival" type="date" placeholder="Arrival Date" id="contact-arrival" value="<?php if (isset($_POST['arrival']) && !empty($_POST['arrival'])) { echo $_POST['arrival']; } else { echo '';} ?>" readonly /><i class="fa fa-calendar-o"></i></div> 

<div class="field calendar"><input name="contact-departure" type="date" placeholder="Departure Date" id="contact-departure" value="<?php if (isset($_POST['departure']) && !empty($_POST['departure'])) { echo $_POST['departure']; } else { echo '';} ?>" readonly /><i class="fa fa-calendar-o"></i></div> 

回答

1

你應該使用ヶ輛逃脫髮布的數據:

echo htmlentities($_POST['arrival'], ENT_QUOTES, 'utf-8'); 

注意:您還應驗證表單數據,一旦形式發佈到你的PHP腳本。

+0

獲得發佈請求後,表單將驗證使用HTML驗證的輸入。如果您有其他更好的主意,請告訴我。謝謝。 –

+0

雙方驗證 - 在瀏覽器和服務器上。在瀏覽器中進行驗證可以節省向服務器發送無效數據的請求。服務器上的驗證將防止SQL注入嘗試和「髒」數據進入您的數據庫。 您可以在這裏找到更多關於數據過濾的信息:http://www.phptherightway.com/#data_filtering – Euperia