繁体   English   中英

在发送每封电子邮件之前过滤用户输入

[英]Filtering of user input before sending per email

我正在用PHP创建一个简单的反馈表单:用户只需输入有关我的站点的一些评论/建议等,然后单击“发送反馈”。 然后,他输入的文本将作为电子邮件正文直接发送给我(即,我自己设置收件人地址,用户的输入仅在邮件正文中使用)。

现在,我不确定,如果我只接受未过滤的文本并将其插入电子邮件正文,将可能发生哪种攻击。

我目前正在使用Joomla平台(即,我正在使用Joomla的JMail功能),但我认为问题更笼统:关于SQL注入和跨站点脚本(等效的攻击媒介)有很多信息。 ,但我对电子邮件了解不多。

请注意,在我的情况下, 通过电子邮件发送文本,因此我不在乎SQL注入或跨站点脚本(电子邮件以纯文本形式发送)。 那么我应该采用哪种过滤?

谢谢马丁

由于只需要评论和建议,因此您可以简单地删除除字母,数字和“。”,“。”以外的任何字符。 即使删除了其他字符,这对您也没有关系,您也将了解它们的含义。 “ =“是最大的敌人。 但是我所描述的场景应该可以确保您的安全。

最重要的是垃圾邮件防护。

如果您使用HTML发送电子邮件,则应过滤标签(strip_tags或htmlspecialchars)或验证用户的HTML(HTMLPurifier http://htmlpurifier.org/

限制消息的长度也很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM