我们假设我的HTML中有一个表单字段,其name
属性为message
。在这种形式中,用户将(应该)输入电子邮件的正文。然后,此电子邮件将通过Javascript从浏览器发送。我完成此操作的方法是在window.open()
字符串上使用mailto:
。
function validateAndSend(form) {
var body = form.message.value;
window.open("mailto:email@example.com?body=" + body);
}
这种方法对我有用,但我担心它的安全性。我听说过SQL-Injection,,我想知道同样的事情是否适用于我的情况。
恶意用户是否有可能在表单字段中输入会造成伤害的内容,例如
我尝试了什么
<script>
标记以尝试通过输入运行我自己的代码的几个测试用例。这些恶意脚本只显示在电子邮件正文中,不会影响任何内容。
通过使用mailto:
?
答案 0 :(得分:0)
mailto:
将简单地加载该协议的默认处理程序,该处理程序由指定了主体的OS /浏览器定义。这最终与他们直接向您发送包含内容的电子邮件没有什么不同。
由于您谈到的是仍然出现在您试图清理的电子邮件正文中的恶意脚本,我认为您更关心的是直接向您发送该邮件并将其深入到您当前的问题中您忘了任何人都可以随时向您发送相同的电子邮件......: - )