加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我是否需要在ajax请求和接收该请求的php之间编码/解码查询参数?

发布时间:2020-12-16 02:55:31 所属栏目:百科 来源:网络整理
导读:我想通过ajax调用作为参数发送整个sql命令.我是否必须逃避它或做一些特别的事情? 像tools.php?database = db2 sql = select * from table 如果需要逃脱 我如何在javascript / jquery中执行此操作 然后我在php中做什么来阅读它 注 – 非常具体的用例系统设
我想通过ajax调用作为参数发送整个sql命令.我是否必须逃避它或做一些特别的事情?

像tools.php?database = db2& sql = select * from table

如果需要逃脱

>我如何在javascript / jquery中执行此操作
>然后我在php中做什么来阅读它

注 – 非常具体的用例&系统设置

Web服务器只能从我们的内部网络内部访问.如果有人闯入,他们可以获得所有的数据库,所以我通过这个问题改进的“小应用程序”并不重要.我已经实现了整个数据库的DROPping,更新了整个列,通过我的Web应用程序更新了db的设置等.我只是想添加这个新功能.我甚至可能会发现我将成为这个Web应用程序的唯一用途.

解决方法

人们,如果你不是绝对确定你在做什么,请不要使用这个代码

此代码受到灾难性安全漏洞的影响,因此除非您绝对确定没有邪恶的人会访问它,否则请不要使用它.

发送:

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
    }
});

接收:

<?php
    $sql = $_POST['sql'];
    $db = $_POST['db'];
    //db connection
    $result = mysql_query($sql);
    //processing query result,$rslt is processing result
    echo json_encode($rslt);
?>

Hovewer,从客户端发送SQL不是一个好主意,这种方法极易受到SQL注入的攻击.但是,如果你确定要拍自己的腿……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读