我的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. 在php中使用stripslashes问题
- 3. 使用mysql_real_escape_string和stripslashes避免SQL注入
- 4. 的stripslashes问题
- 5. Wordpress stripslashes问题
- 6. Stripslashes&WP准备
- 7. magic_quotes_gpc的VS的stripslashes
- 8. tar命令使用区别
- 9. 跳转使用斜线,然后使用stripslashes PHP
- 10. 使用extern和使用getter的区别?
- 11. 通用区别
- 12. 转义数据 - stripslashes,strip_tags
- 13. 解码:的eval(的stripslashes(gzinflate
- 14. mysql_real_escape_string()是否会取消stripslashes()?
- 15. stripslashes和特殊字符?
- 16. 使用MotionEvent.getAction()方法的区别
- 17. 使用移调有什么区别?
- 18. 使用java.util.logging和Log4j Logger的区别
- 19. 使用int [] []和int [,]有什么区别?
- 20. 使用和extern有什么区别?
- 21. 使用@OneToMany和@ManyToMany之间的区别
- 22. 使用gradlew和gradle的区别
- 23. 使用WorkflowInvoker和WorkflowApplication有什么区别?
- 24. 使用Trace和TraceSource之间的区别
- 25. 使用!-command或system()有什么区别?
- 26. 使用MYSQL与计数区别?
- 27. 使用物化时有什么区别?
- 28. 有什么区别使用=和:在javascript
- 29. Context.openFileInput()与使用Java.IO类的区别
- 30. 使用IHttpHandler和webservice的区别