Ben bir kullanıcı adı alınmış olup olmadığını görmek için kontrol etmek için jQuery kullanıyorum. Benim sorun $.post
şey kaçmak gibi görünüyor olmasıdır. Örneğin, ben bu kullanın:
$.post("http://mywebsite.com/check_username.php", {
"username": $("#username_txt").val()
}, function(data, textstatus, xmlhttp){
// do stuff
});
kabaca sayfada check_username.php
, için adınızı göndermek için,
$username = mysql_real_escape_string($_POST["username"]);
echo $username; // show the perceived username
echo mysql_query("SELECT * FROM users WHERE username=\"".$username."\";") === false ? 1 : 0;
Giriş alanına kullanıcı adı "bob"
(tırnak işaretleriyle birlikte) ise, veri dönüş olacak \\\"bob\\\"0
. Mysql_real_escape_string olmadan, \"bob\"
okur. Ben bunu böyle bırakmak için cesaret, o potansiyel saldırganlar kolayca benim uygulamasına SQL kodu enjekte edebilir.
Ben almak ve bu konuda yayınlayın üzerinde jQuery belgelerine bir şey görmedim, bu yüzden bu durdurmak için nasıl emin değilim. Benim ajax için jQuery kullanarak değil Kısıtlama, bunu nasıl düzeltebilirim?