Rad*_*dek 4 php sql ajax jquery
我想通过ajax调用作为参数发送整个sql命令.我是否必须逃避它或做一些特别的事情?
就像是 tools.php?database=db2&sql=select * from table
如果需要逃脱
Web服务器只能从我们的内部网络内部访问.如果有人闯入,他们可以获得所有的数据库,所以我通过这个问题改进的"小应用程序"并不重要.我已经实现了整个数据库的DROPping,更新了整个列,通过我的Web应用程序更新了db的设置等.我只是想添加这个新功能.我甚至可能会发现我将成为这个Web应用程序的唯一用途.
Ste*_*hen 12
您没有理由在客户端构建SQL查询.如果您构建的系统可能是此规则的例外,那么您不会在此处提出此问题.
在AJAX请求中发送基本信息,并使用该信息构建查询.
使用PDO和参数化查询来保护自己免受SQL注入攻击.
J0H*_*0HN 11
人们,如果你不是绝对确定你在做什么,请不要使用这个代码
此代码受到灾难性安全漏洞的影响,因此除非您绝对确定没有邪恶的人会访问它,否则请不要使用它.
发送:
jQuery.ajax({
type: 'post',
dataType: 'json',
url: *your backend url here*,
data: {database: 'db', sql: "select * from table"},
success: function(data, textStatus){
//perform any processing with data returned from backend here
}
});
Run Code Online (Sandbox Code Playgroud)
接收:
<?php
$sql = $_POST['sql'];
$db = $_POST['db'];
//db connection
$result = mysql_query($sql);
//processing query result, $rslt is processing result
echo json_encode($rslt);
?>
Run Code Online (Sandbox Code Playgroud)
Hovewer,从客户端发送SQL不是一个好主意,这种方法极易受到SQL注入的攻击.但是,如果你确定要拍自己的腿......
| 归档时间: |
|
| 查看次数: |
1183 次 |
| 最近记录: |