前后台交互中特殊字符的处理

一、特殊字符需要做处理

1. 单引号

    后台返回的json中包含单引号,可能会引起前端页面js报错,可以在前端对单引号进行转义,或者在后台进行转义,再生成json返回到前端。

    后台根据前端传递的数据拼接sql时,单引号会导致sql语句报错,且不推荐直接使用字符串进行sql拼接,可以使用JDBC中的类,通过占位符传递参数,防止sql注入。

    如果sql中有单引号导致sql语句报错,可以将两个单引号进行转义,如:select * from table where column like '''' ;

2. 百分号、下划线

    前端get请求拼接的url中,如果有百分号,需要对百分号进行转义,否则后台将取不到该百分号,可以使用'%25'替换'%',如此,后台可以根据参数直接获取到%。

    前端传递某个参数的值为%,如果后台不对它进行处理,直接作为条件进行模糊查询,将会把数据库中所有非空的数据查询出来; 如果参数的值为_,后台不对它进行处理,直接作为条件进行模糊查询,会匹配到数据库中该字段所有单个字符的数据。

    如果遇到百分号、下划线作为查询条件,可以使用/+百分号或下划线进行转义,在本项条件后加 escape '/' 即可,如:

    select * from tabl where column like '%/%%' escape '/' ;

    select * from tabl where column like '%/_%' escape '/' ;

    

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PHP是一种广泛应用于Web开发的服务器端脚本语言,它可以嵌入到HTML,通过与数据库交互来生成动态网页内容。PHP具有易学易用的特点,非常适合新手入门。 在PHP后台交互通常是通过HTTP协议来实现的。台页面通过表单或者AJAX等方式向后台发送请求,后台接收到请求后进行处理,并将结果返回给台页面。 下面是一个简单的示例,演示了如何使用PHP实现后台交互: 1. 台页面(index.html): ```html <!DOCTYPE html> <html> <head> <title>后台交互示例</title> </head> <body> <form action="backend.php" method="POST"> <input type="text" name="name" placeholder="请输入姓名"> <input type="submit" value="提交"> </form> <div id="result"></div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $('form').submit(function(e) { e.preventDefault(); $.ajax({ url: 'backend.php', type: 'POST', data: $(this).serialize(), success: function(response) { $('#result').text(response); } }); }); </script> </body> </html> ``` 2. 后台处理脚本(backend.php): ```php <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = $_POST['name']; echo '你好,' . $name . '!'; } ?> ``` 在上面的示例台页面包含一个表单,用户输入姓名后点击提交按钮,表单数据会被发送到后台的backend.php脚本进行处理后台脚本接收到姓名后,返回一个包含问候语的字符串,台页面通过AJAX接收到后台返回的结果,并将其显示在页面上。 这只是一个简单的示例,实际应用可能涉及更复杂的数据处理交互逻辑。希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值