[英]PHP changing post data before use it
我正在修改一個開源工具。 我在腳本中找不到所有功能。 所以我計划將自己的腳本包含在htacces的所有頁面中。 我想清除SQL注入的發布數據。 因此,我將此代碼添加到了自己的腳本中:
foreach($_POST as $key=>$value)
{
$_POST[$key] = str_replace('bad chars for injections', '', $value);
}
foreach($_GET as $key=>$value)
{
$_GET[$key] = str_replace('bad chars for injections', '', $value);
}
foreach($_REQUEST as $key=>$value)
{
$_REQUEST[$key] = str_replace('bad chars for injections', '', $value);
}
這可以更改職位價值。 該工具只能使用清除的數據。 但是,如果該工具使用file_get_contents('php:// input')函數,則可以看到原始發布數據。 因此,如果使用這種方式,我將無法信任該工具。
有沒有辦法在工具使用之前更改這些輸入? 我的意思是實際上重寫功能。
不。應該不惜一切代價完全避免這種情況。
請改用准備好的語句 。 從PHP文檔 :
如果應用程序專門使用准備好的語句,則開發人員可以確保不會發生SQL注入。
如果不確定如何使用准備好的語句,則網絡上有很多指南 。 例如:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.