我的php應用程序使用stripslashes()來處理magic_quotes,但我只希望它刪除magic_quotes放入的斜線,因爲用戶被允許提供\他的輸入。使用stripslashes()區別
1
A
回答
8
stripslashes
不會隨意刪除斜槓。
如果魔術引號是,那麼它會逃避斜線,與'\\'
更換'\'
和stripslashes
應該撤銷魔術引號正確地轉義,與'\'
更換'\\'
讓你回來了用戶輸入的內容。
我想你可能只是想是這樣的:
// Ripped from the PHP manual (http://us3.php.net/manual/en/function.get-magic-quotes-gpc.php)
if (get_magic_quotes_gpc()) {
$lastname = stripslashes($_POST['lastname']);
}
else {
$lastname = $_POST['lastname'];
}
在代碼$lastname
結束不應該有除了那些用戶輸入的任何斜槓。
另一方面,魔術引號是一個安全問題,在新版本的PHP中已棄用(請參閱the docs)。
-1
嘗試滾動自己的編碼/解碼功能,像這樣:
function doEncode($string){
return addslashes(str_replace("\","\\",$string));
}
function doDecode($string){
return str_replace("\\","\",stripslashes($string));
}
2
使用magic_quotes_gpc的是一個壞主意,無論如何,它的正式棄用的5.3和了爲PHP 5.5的。更重要的是(並且立即),它鼓勵安全性較差,因爲它並不是真正的做的任何有用的事情都無法通過mysql_real_escape_string或預處理語句或存儲過程來完成。
如果你可以擺脫它,請做...
相關問題
- 1. 同時使用stripslashes和html_entity_decode
- 2. 'stripslashes()'的用法
- 3. Stripslashes()array
- 4. 的stripslashes
- 5. 爲什麼即使使用的stripslashes
- 6. 區別使用[和[
- 7. 區別使用ROWNUM
- 8. 區別使用它
- 9. 使用mysql_real_escape_string和stripslashes避免SQL注入
- 10. 在php中使用stripslashes問題
- 11. htmlentities或htmlspecialchars或stripslashes?哪一個使用?
- 12. 什麼是stripslashes?
- 13. Wordpress stripslashes問題
- 14. Stripslashes和array_map
- 15. Stripslashes&WP準備
- 16. 的stripslashes問題
- 17. Android/Java Stripslashes
- 18. tar命令使用區別
- 19. magic_quotes_gpc的VS的stripslashes
- 20. 的stripslashes不工作
- 21. 使用extern和使用getter的區別?
- 22. 跳轉使用斜線,然後使用stripslashes PHP
- 23. 通用區別
- 24. 解碼:的eval(的stripslashes(gzinflate
- 25. mysql_real_escape_string()是否會取消stripslashes()?
- 26. 轉義數據 - stripslashes,strip_tags
- 27. stripslashes和特殊字符?
- 28. 在2中使用cookie區別網站
- 29. 使用gradlew和gradle的區別
- 30. 使用AWSDynamoDBObjectMapper和AWSDynamoDB有什麼區別?