我有一個腳本,每當有人通過FaceBook評論框發表評論時會觸發一封電子郵件。 Fb.event.subscribe觸發我的服務器上的mail.php的ajax調用,該服務器會將電子郵件發送到我的電子郵件地址以通知新的評論。我如何使這更安全,並直接阻止訪問mail.php?防止PHP表單發送直接訪問,允許使用AJAX
FB.Event.subscribe('comment.create', function (response) {
var domain = "<?= $_SERVER['SERVER_NAME']; ?>";
var url = "<?= $currentUrl ?>";
alert("comment added");
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://" + domain + "/mail.php?url=" + url,true);
xmlhttp.send();
});
** ---------- here is mail.php -------- **
<?php
$to = "MY EMAIL HERE";
$subject = "New Comment Added";
$message = "New Comment posted here: " . $_GET['url'] ;
$from = "MY EMAIL HERE";
$headers = "From:" . $from;
//mail($to,$subject,$message,$headers);
//echo $_GET['accesstoken'] ;
?>
嗯..所以任何建議? –
是的。您可以使用PHP訪問圖形API以獲得您的意見,https://graph.facebook.com/comments/?ids=解析那裏的JSON並找出您尚未處理的任何新評論。由於一切都發生在服務器端,所以你不會有垃圾郵件問題。 –