Html 将电子邮件地址添加为隐藏字段

Html 将电子邮件地址添加为隐藏字段,html,xhtml,Html,Xhtml,我最近发现了一个网站,其中电子邮件地址包含在html表单的隐藏标记中。这是一种不好的做法吗?为什么除了盗取邮件地址之外?哪里有什么电子邮件地址 表单将提交到的电子邮件地址?它不是很干净,但没有什么可怕的。(如果服务器端表单处理程序没有对照白名单检查电子邮件地址,则这是垃圾邮件中继的邀请,非常糟糕) 用户在上一页上输入的电子邮件地址?没问题,这只是维护状态,它不能被窃取-只有在第一时间输入它的用户才能看到它。(这一半答案被删除以回应评论)这只是一种跟踪某个地方必须使用的电子邮件地址的方法。因为他们

我最近发现了一个网站,其中电子邮件地址包含在html表单的隐藏标记中。这是一种不好的做法吗?为什么除了盗取邮件地址之外?

哪里有什么电子邮件地址

表单将提交到的电子邮件地址?它不是很干净,但没有什么可怕的。(如果服务器端表单处理程序没有对照白名单检查电子邮件地址,则这是垃圾邮件中继的邀请,非常糟糕)


用户在上一页上输入的电子邮件地址?没问题,这只是维护状态,它不能被窃取-只有在第一时间输入它的用户才能看到它。(这一半答案被删除以回应评论)

这只是一种跟踪某个地方必须使用的电子邮件地址的方法。因为他们自己无法识别你的电子邮件地址,我想你以前在系统中输入过它,所以我不认为这是偷窃


至于实践,我不太喜欢隐藏字段,因为它们很容易更改,但如果需要,它可以完成这项工作。当然,您需要在后端进行所有类型的数据验证,将隐藏字段视为用户输入。

使用会话存储电子邮件值用于特定目的是一种替代方法。

这是一种不好的做法

恶意用户可以使用类似的工具更改隐藏字段的内容。
例如,他可以使用您的表单发送垃圾邮件或匿名电子邮件。

可能,一个名为“收件人”的字段包含所联系组织的电子邮件地址。由于这不会因客户而异,因此不应作为表单的一部分;它应该是表单目标脚本的一部分

即使“收件人”电子邮件有一定的变化(比如网站管理员、技术服务、销售、投诉部门等的有限列表),表单也不应包含目标电子邮件。它应该包含一个下拉列表,其中选项值是整数,脚本使用这些整数来确定哪个电子邮件地址是合适的。除了安全性问题之外,类似于所描述的选项列表很容易从数组中生成。因此,更改您的电子邮件列表很容易


在联系人表单中保留电子邮件地址有助于防止滥用您的表单进行垃圾邮件。而且它还可以使您的电子邮件地址不被网络垃圾用户使用。

您是在谈论网站的联系人电子邮件吗?是要求用户填写的表单,还是隐藏了整个表单?你可以发布一个链接吗?比如,它是一个联系人表单邮件地址在隐藏字段中是静态的,用户没有输入。如果要验证其内容,隐藏字段存储常量值的实际用途是什么?@sr pt:可能不是常量,可能来自上一步/页面。另外,spambots可以从页面源中获取电子邮件地址。+1,但不一定是int列表-使用字符串列表更容易阅读,例如:“admin”;“销售代表”;等等@sr pt:我的意思是:
站长
。可读性不会被牺牲,验证整数比验证字符串更容易、更便宜。请原谅我说的不清楚,我的意思是
网站管理员
-这样当一个人读(或写)处理所选值的代码时,他就可以很容易地记住(或扣除)值的含义。@sr pt:我明白你的意思了。我通常将电子邮件地址列表保存在一个数组中(静态或从db填充),因此整数id要么是数组索引,要么是PK(或两者兼有)。如果我使用的是静态数组,则发送的电子邮件除了地址之外都是相同的。如果我使用的是db,那么电子邮件处理中的差异将根据电子邮件记录的其他字段的值进行编码。不管怎样,我都不需要知道这个值意味着什么。我只需要知道它是有效的。