在javascript中的控制台错误上发送电子邮件

在javascript中的控制台错误上发送电子邮件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我对这个问题和链接所做的研究: 代码示例: function handleError(evt) { if (evt.message) { // Chrome sometimes provides this $.ajax({ type: "POST", url: "email.php", data: evt.message, success: function(){ $

我对这个问题和链接所做的研究:

代码示例:

function handleError(evt) {
  if (evt.message) { // Chrome sometimes provides this
 $.ajax({
            type: "POST",
            url: "email.php",
            data: evt.message,
            success: function(){
            $('.success').fadeIn(1000);
            }
        });
  } else {
    $.ajax({
            type: "POST",
            url: "email.php",
            data: evt.type,
            success: function(){
            $('.success').fadeIn(1000);
            }
        });
  }
}
问题)在“email.php”中需要什么类型的验证来确保电子邮件不是恶意的(在可能的范围内),即:是否存在您使用此功能暴露自己的漏洞。
如果javascript中有一种内置机制来更改错误日志的位置,那么这也可以回答这个问题

我假设您将它发送到一个已知的电子邮件地址,所以不需要检查电子邮件

filter_var($email, FILTER_VALIDATE_EMAIL)
然后清除任何使您的电子邮件无法正常运行的数据

function clean_string($string) {
    $bad = array("content-type","bcc:","to:","cc:","href");
    return str_replace($bad,"",$string);
}
$data = clean_string($data);
之后,去掉html标记以防止发送html(例如,防止发送javascript)


在电子邮件中发送数据应该是安全的。现在请记住,数据尚未安全地发送到sql数据库,如果您将其发送到数据库,请使用准备好的语句,以便数据不能执行任何sql注入。

如果您不发送键/值对供
$\u POST
查看,则在php中无法验证。不知道最后一部分关于
日志位置的意思是什么
您的意思是引用“如果javascript中有一种内置的机制来更改错误日志的位置,这也可以回答这个问题。”?如果是这样的话,请澄清:我假设javascript中未捕获的错误将进入控制台错误日志。我正在尝试捕获转到此控制台错误日志的错误。这是捕获窗口中发生的未捕获错误事件的唯一函数,还是有其他机制?让我知道这是否澄清了那句话。
$data = strip_tags($data);