我正在印度的一家非政府组织实习(Seva Mandir,http ://sevamandir.org ),并试图修复他们损坏的“订阅时事通讯”框。因为工作人员不是很老练,而且我们的网络主机也不是很好,所以我决定通过 mail() 将相关数据发送给发布人员,而不是将其存储在 MySQL 数据库中。
我知道最好将用户输入视为恶意输入,并且我在 SO 论坛中搜索了与转义用户数据以发送邮件消息相关的帖子。我知道数据应该被转义;我应该担心什么?在发送电子邮件之前清理输入的最佳方法是什么?
另请注意,该组织的 Web 主机仍在使用 PHP 4,因此我不能只对字符串使用 filter_var。我正在与他们一起解决问题,但现在我必须使用正则表达式或 strip_tags 或其他方法。
表单流程:
1. 用户在主页输入电子邮件并点击提交
2. 用户在第二页输入姓名、地址、更多信息(我知道可用性不好,但我的老板要求我这样做)并点击“提交”
3. 收集数据通过 $_POST 并将其通过电子邮件发送给出版物编辑(并可能向订阅者发送确认)。
我将在步骤 2 中清理电子邮件,在步骤 3 中清理其他数据。感谢您的帮助,
Kevin