当前位置: 首页 > 知识库问答 >
问题:

Mysqli-参数化查询是否足以防止XSS二阶攻击?

岳飞航
2023-03-14

我正在处理一个动态应用程序,我不确定参数化查询是否安全,不会受到XSS、二阶攻击?你能帮助我吗?谢谢

我以以下代码为例:

  $stmt = $mysqli->prepare("INSERT INTO tb (1, 2, 3, 4, 5, 6, 7) VALUES (?, ?, ?, ?, ?, ?, ?)");

    $stmt->bind_param('sssssss', $1, $2, $3, $4, $5, $6, $7);
    $stmt->execute();
    $stmt->close();

共有2个答案

龙宣
2023-03-14

绝对不是。

请务必为此使用单独的库。你永远也做不到抓住所有角落的案子。

下面是一个简短的列表,列出了一些你需要对付的极端情况。

柯琛
2023-03-14

不。

参数化查询防止SQL注入;也就是说,它确保查询参数在SQL后端处理之前格式良好并正确转义。

XSS是另一类问题,输入应该被超文本标记语言清除;鉴于一个正确参数化的SQL值仍然可以包含标记,您需要额外的编码(例如htmlSpecialchars())。

 类似资料:
  • 我们正在用运行在JBoss中的Java Spring/Hibernate后端构建一个应用程序。前端是AngularJS。 我们还没有在服务器端设置XSRF令牌。我们也没有(无论如何还没有)允许其他域访问我们的web资源的要求。 我想我会试着看看我们的站点是否容易受到XSRF攻击,所以我设置了一个恶意的webapp,使用Angular的$http.post()发布到我们真正应用程序的URL中。我登录

  • 本文向大家介绍如何防止XSS攻击?相关面试题,主要包含被问及如何防止XSS攻击?时的应答技巧和注意事项,需要的朋友参考一下 (1) 将前端输出数据都进行转义 (2) 将输出的字符串中的\反斜杠进行转义 (3) 从url中获取的信息,防止方法是由后端获取,在前端转义后再行输出 (4) 使用cookie的HttpOnly属性,保护好cookie 详细参见:http://blog.csdn.net/fe

  • 禁用SSLv2协议是否足以保护我的应用程序免受溺水攻击? 如果用户尚未在其所有SSL/TLS服务器中禁用SSLv2协议,则可以通过禁用SSLv2协议来避免此问题。禁用所有SSLv2密码也足够了,前提是已经部署了CVE-2015-3197的修补程序(在OpenSSL 1.0.1R和1.0.2F中已修复)。未禁用SSLv2协议且未为CVE-2015-3197打补丁的服务器,即使名义上禁用了所有SSLv

  • 防御XSS攻击的一般原理 cleaner是Jsoup的重要功能之一,我们常用它来进行富文本输入中的XSS防御。 我们知道,XSS攻击的一般方式是,通过在页面输入中嵌入一段恶意脚本,对输出时的DOM结构进行修改,从而达到执行这段脚本的目的。对于纯文本输入,过滤/转义HTML特殊字符<,>,",'是行之有效的办法,但是如果本身用户输入的就是一段HTML文本(例如博客文章),这种方式就不太有效了。这个时

  • 本文向大家介绍Django如何实现防止XSS攻击,包括了Django如何实现防止XSS攻击的使用技巧和注意事项,需要的朋友参考一下 一、什么是XSS攻击 xss攻击:----->web注入   xss跨站脚本攻击(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”。   我们常常听到“注入”(Injection),如SQL

  • 本文向大家介绍Laravel5中防止XSS跨站攻击的方法,包括了Laravel5中防止XSS跨站攻击的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel5中防止XSS跨站攻击的方法。分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HTMLPurifier 防止 XSS 跨站攻击。 1、