我刚刚雇了一个人来做一个安全的表单,下面粘贴的只是一个大代码的片段:
$_POST = escape_all($_POST);
$some1 = $_POST['some1'];
$some2 = $_POST['some2'];
$some3 = $_POST['some3'];
$some4 = $_POST['some4'];
$some5 = $_POST['some5'];
$some6 = $_POST['some6'];
$some7 = $_POST['some7'];
$some8 = $_POST['some8'];
这是正确的方法还是我应该在所有变量中添加 mysql_real_escape_string();
看起来他写了一个自定义函数来逃避。只要该escape_all函数调用mysql_real_escape字符串,它在技术上就可以工作,尽管出于一些原因,我不会说它是首选解决方案。
首先,你要小心不要逃跑到其他任何地方,因为它很容易导致双重逃跑,这可能会导致其他问题。
此外,如果性能是一个问题,您最终可能会根据情况转义大量不需要转义的数据。
是的,使用 mysqli 而不是 mysql 通常是可取的。