私はajax、php、およびmysqlを使用してcrmのタイプを構築しています。私はajax xhr要求を使用してGETとPOSTリクエストでソリューションを構築しています。私の質問は、これらの要求がどのようなタイプのハックや攻撃からも安全であることを確認する最善の方法は何でしょうか。私はクライアントのデータとこのcrmが安全であることを確認したい。Ajax POST/GETセキュリティ
今私はちょうど長い手ajax/javascriptを使用しています。私は多くのjQueryを使用していない:私の要求は、このようなものになります。
function getContacts()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("div").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","xhr_php/getContacts.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var contact = document.getElementById('contact_id').value;
xmlhttp.send("contact="+contact);
}
を私のPHPファイルは、この
$contact=$_POST['contact'];
$sql="SELECT *
FROM contacts
WHERE contacts.contact_id = $contact";
のように見えるので、これは私がデータを取得するだけでなく、使用している基本的な方法ですが、レコードを挿入して他のすべてのクエリを実行することもできます。私の質問は、すべてのデータが安全であるようにこれらの要求とSQLクエリを保護する最良の方法は何ですか。データが破損したり、盗まれたり、注入されたり、ハッキングされたりすることがないように、これは安全なcrmソリューションであることを確認したいと思います。
また、Jimの答え(ほんとうに100%正しい人)にちょっと加えて、単純なAjaxリクエスト(そして他のクールなものも)のためにjqueryライブラリを見ることをお勧めします)。 –