PHP安全与扩展:实用指南
1. 日期验证与MySQL注意事项
在处理日期时,我们可以使用 checkdate()
函数来验证日期的有效性。示例代码如下:
// check for date validity
if (!checkdate($valid['month'], $valid['day'], $valid['year'])) {
die ('ERROR: Invalid date.');
}
// processing code here //
需要注意的是,当将日期存储在MySQL的 DATE
、 DATETIME
或 TIMESTAMP
字段中时,MySQL自身不会进行严格的日期验证。如果遇到明显非法的日期值,MySQL最多会用一系列零来替换它。更多关于MySQL处理日期和时间值的信息可查看: http://dev.mysql.com/doc/mysql/en/datetime.html 。
2. 表单输入验证
接下来,我们通过一个实际项目来应用输入清理和验证的基础知识。这个示例是一个Web表单,用于让用户输入书籍的各种详细信息,包括标题、作者、ISBN编号和价格。然后,使用之前讨论的技术对这些数据进行验证,并将其保存到SQLite数据库中。