在尋找如何保護網站的可能方法時,我發現了很多信息。通過這些信息需要幾個月的時間。什麼是短規則(要記住)保持(PHP)代碼安全?
所以,問題是:什麼是簡短的規則(要記住)保持(PHP)代碼的安全?
使用的網站,黑客會危害:
使用輸入表單中輸入的東西時,- ;
- 使用輸入表單上傳內容時;
- 在地址欄中輸入內容時。
據我所知,沒有其他的方法(只使用網站)黑客可能會造成傷害。
1)使用輸入表單與用戶輸入相關的規則。
1.1。在mysql中記錄。 PDO準備的報表如: INSERT INTO TableName (Column1, Column2, Column3) VALUES (???)
。因此,如果任何?
將包含刪除數據庫的代碼,則?
的內容將被記錄在mysql中並且不會被執行。如果代碼如INSERT INTO TableName (Column1, Column2, Column3) VALUES ($variable, $variable, $variable)
,則可以執行此類代碼。
1.2。從mysql顯示爲html記錄並顯示用戶的輸入。 對於字符串必須使用回波htmlspecialchars($variable)
對於數組必須使用這樣https://stackoverflow.com/a/2003212/2465936
function filter(&$array) {
$array = htmlspecialchars($array, ENT_QUOTES, 'UTF-8');
}
array_walk_recursive($array, "filter");
echo '<pre>';
print_r($array);
echo '</pre>';
1.3。 JSON(Javascript)輸出。例如,我有迴音json_encode($bad_content);
如何逃避它?用echo json_encode(JSONObject.escape ($bad_content))
?請指教。
2)使用輸入表單與上傳相關的規則。目前在我的代碼中,您看到了$data = new Spreadsheet_Excel_Reader(($_FILES['file']['tmp_name']), false, false)
。目前,我不知道該怎麼做。如果我想在MySQL中記錄Excel或CSV文件的內容,那麼沒關係,我使用PDO準備好的語句。但是有必要清理文件名?我試圖上傳一個名爲header('Location: http://www.google.com');
的CSV文件。所有數據按預期導入。請,一個建議是否有必要消毒/逃脫的東西。如果是,那麼如何?
3)規則,與在客戶端瀏覽器的地址欄中輸入內容有關。 如何避免與URL操作相關的問題?
例如,鍵入 http://www.mywebsite.com/bookreports.asp?reportID=21'; drop table myTablename--
見Not Found The requested URL /bookreports.php was not found on this server.
並沒有什麼事情發生
怎樣做才能避免可能出現的問題,如果黑客在地址欄類型意想不到的事情?我需要檢查每個文件的URL嗎? 從哪裏危害到這種情況?好的,用戶可以輸入密碼保護頁的網址。但在密碼保護頁面中,我檢查瀏覽器會話ID並與服務器會話ID進行比較。
這裏有很多問題:C – MackieeE
您的問題是廣泛的!編程確實需要您的一些學習和閱讀。學習捷徑並不是最好的開始。 – StBlade
我只想寫一些簡短的規則作爲參考。假設記住並遵循主要規則是有用的。 – user2465936