Gar*_*hby 2 php error-handling post sanitization get
我正在使用数据库驱动的站点,该站点使用普通数据库方法而不是预处理语句.因此,我必须在传递给表单操作PHP脚本时清理POST和GET变量.
有一个sanitise
定义的方法试图尽可能地清理用户输入,但我试图减少测试POST和GET变量存在的代码以及用于定义具有默认值的变量的代码(如果它们不存在).
这是我想出来的,但它在我和其他开发人员口中留下了不好的味道,因为我们都觉得错误抑制操作符被滥用:
$Page = sanitise(@$_GET["page"], "Unspecified");
$Timestamp = sanitise(@$_POST["time"], time());
Run Code Online (Sandbox Code Playgroud)
请问你能批评一下这段代码吗?这并不理想我会同意,但它确实减少了很多代码,并且比我们的代码更具可读性.
我尝试在一行中实现以下功能:
你怎么看?
这是我在这里要求的延续:将未
设置的变量传递给函数
为自己节省一些编码并使用几个静态函数创建一个“输入”类,如下所示:
class Input {
public static function get($key, $default = null)
{
return (array_key_exists($key, $_GET)) ? $_GET[$key] : $default;
}
// same thing for $_POST...
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样调用你的消毒功能......
sanitize(Input::get('page', 'Unspecified'));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
569 次 |
最近记录: |