mysql_escape_squery_php、jquery和.post():mysql_real_escape_string把事情搞砸了

首先,我会避免使用变量,在这种情况下它们实际上是不必要的,而且如果您不确定哪些键实际到达了脚本,它们会成为移动目标,而且由于它们创建的安全问题,它们是不好的做法。相反,我将把settings.php中的转义值放入一个数组中。然后您可以在包含settings.php之后简单地对数组进行var_dump(),并查看可用的内容。

function extract_requests(){

$res = array();

foreach ($_REQUEST as $key => $value) {

if($key){

$res[$key] = $value;

}

}

return $res;

}

其次,使用正确的url字符串手动调用login.php,这正是您希望javascript调用的内容,这样您就可以确保login.php脚本本身不会出现任何行为问题。

http://localhost/somewhere/login.php?uid=50

include("../../settings.php");

$input = extract_requests();

var_dump($input);

echo $input['uid'];

echo $_POST['uid'];

最后,我将检查您在post()中发送的数据。我不是javascript专家,但是

uid:uid,

pwd:pwd

看起来这会给我带来麻烦,所以最好确保你的数据以你期望的方式发送。

$(document).ready(function(){

$(".index_login_subm").click(function(){

uid = $("input:username").val();

pwd = $("input:password").val();

var inputData = {uid:uid, pwd:pwd};

alert(uid+" "+pwd);

// If you have a console.log() available, just use it on inputData here instead.

$.post("backend/login.php",inputData

,function(data){

alert("Returned data: " + data);

});

return false;

});

});

编辑:基于mysql-real-escape-string-only-when-a-connection-has-been-initiated,我已经从上面的代码中删除了转义,因为实际上,在将这些东西放入sql之前,最好先转义它们。

此外,请记住使用javascript登录

威尔

回来咬你一口,功能和登录一样基本和必要,你不希望javascript错误破坏浏览者登录的任何能力。就这样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值