PHP验证要在电子邮件中发送的textarea输入
我正在尝试创建一个PHP页面,用户可以用HTML向其他用户发送电子邮件。 在我的页面(email.php)上有一个供用户输入消息的文本区 由于我从我的服务器发送电子邮件,我不希望用户编写恶意代码/邮件内容(html、链接、php、脏话等),这将导致我的服务器电子邮件IP被禁止为垃圾邮件 我知道我可以使用str_replace()htmlentities()strip_tags()等函数进行验证 如何阻止用户在文本区域中输入标签、链接等,以便在发送电子邮件时保持干净。如果消息字符串与电子邮件正文格式相匹配,是否有某种功能可以只过滤整个消息字符串,或者有一种方法可以将消息字符串转换为纯文本,以便任何恶意链接/标记只向用户显示为a href='/link'>恶意链接而不是“恶意链接”,并且它们只显示为标记本身而不是运行的html标记 例如,当你发送电子邮件时,你会得到一个带有文本区域的表单PHP验证要在电子邮件中发送的textarea输入,php,textarea,validation,Php,Textarea,Validation,我正在尝试创建一个PHP页面,用户可以用HTML向其他用户发送电子邮件。 在我的页面(email.php)上有一个供用户输入消息的文本区 由于我从我的服务器发送电子邮件,我不希望用户编写恶意代码/邮件内容(html、链接、php、脏话等),这将导致我的服务器电子邮件IP被禁止为垃圾邮件 我知道我可以使用str_replace()htmlentities()strip_tags()等函数进行验证 如何阻止用户在文本区域中输入标签、链接等,以便在发送电子邮件时保持干净。如果消息字符串与电子邮件正文格
谢谢你的建议,你能澄清一下吗 从你所描述的来看,这似乎足够了,除非我误解了你的要求。这两个函数都不是用于验证,而是用于筛选
strip_tags()
删除PHP和HTML标记,并且htmlentities()
将确保将适用的字符转换为其HTML实体等价物。您无法阻止用户插入HTML标记,即使使用javascript也是如此。因为几乎所有的浏览器都有开发工具,任何网站的html元素在页面加载后都可以被修改
您可以仅为eye view开发javascript验证,但php验证是必须的,因为您不能限制用户
甚至可以修改标题。。。所以你需要那些php过滤器,正如您上面提到的。我建议使用白名单方法的第三方库。不清楚的是:消息是否以HTML格式发送?是的,以HTML格式发送,但php用于过滤/验证。当用户收到hotmail/gmail等格式的电子邮件时,正文文本消息将是干净的,即如果用户输入链接而不是clickable/wont run它将显示为a href=''tag?@webjawns:我已经编辑了你的文章,为这两个函数添加了指向PHP手册的链接。希望您不介意:-)值得注意的是,strip_tags()无法正确处理格式错误的HTML。