Mag*_*Man 6 php sanitization input-sanitization
我正在使用一个允许用户选择日期的javascript日期选择器.但是,我还希望在进入数据库之前清理发布的日期数据.我在这里没有看到任何消毒过滤器:http://us2.php.net/manual/en/filter.filters.sanitize.php
在进入数据库之前清理日期的最佳方法是什么?
这将是帖子的原始值:
$datepick = $_POST['date'];
// wich is 04/12/2014
Run Code Online (Sandbox Code Playgroud)
然后我将其转换为数据库:
$date = date("Y-m-d", strtotime($datepick));
Run Code Online (Sandbox Code Playgroud)
谢谢!
Pau*_*ich 14
如果您的日期类似于"03/02/2014",那么您只需通过regexp清理变量:
$date = preg_replace("([^0-9/])", "", $_POST['date']);
Run Code Online (Sandbox Code Playgroud)
这只允许数字(0-9)和fwd斜杠(/).
设置日期格式可以对其进行清理,因为:
以下情况属实:
DateTime::format
DateTimeImmutable::format
DateTimeInterface::format
date_format()
Date($format, $date_string)
Run Code Online (Sandbox Code Playgroud)