当前位置: 首页 > 面试题库 >

在PHP站点中避免xss攻击的最佳实践是什么

宗政博文
2023-03-14
问题内容

我已配置PHP,以便打开魔术引号,并关闭全局寄存器。

我尽我所能一直为从用户输入派生的任何输出调用htmlentities()。

我有时也会在数据库中查找xss附带的常见信息,例如…

<script

我还应该做些什么,以及如何确保自己 一直 想做的事情 始终 完成。


问题答案:

为了成功防止XSS,逃避输入并不是最好的选择。输出也必须转义。如果您使用Smarty模板引擎,则可以使用|escape:'htmlall'修饰符将所有敏感字符转换为HTML实体(我使用自己的|e修饰符,这是上面的别名)。

我输入/输出安全性的方法是:

  • 存储未修改的用户输入(输入不转义HTML,仅通过PDO准备好的语句完成DB感知转义)
  • 在输出时进行转义,具体取决于您使用的输出格式(例如HTML和JSON需要不同的转义规则)


 类似资料:
  • 随着互联网技术的发展,现在的Web应用都含有大量的动态内容以提高用户体验。所谓动态内容,就是应用程序能够根据用户环境和用户请求,输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成 XSS)的威胁,而静态站点则完全不受其影响。 什么是XSS XSS攻击:跨站脚本攻击(Cross-Site Scripting),为了不和层叠样式

  • 本文向大家介绍什么是 XSS 攻击,如何避免?相关面试题,主要包含被问及什么是 XSS 攻击,如何避免?时的应答技巧和注意事项,需要的朋友参考一下 XSS 攻击:即跨站脚本攻击,它是 Web 程序中常见的漏洞。原理是攻击者往 Web 页面里插入恶意的脚本代码(css 代码、Javascript 代码等),当用户浏览该页面时,嵌入其中的脚本代码会被执行,从而达到恶意攻击用户的目的,如盗取用户 coo

  • xss(Cross Site Scripting),即跨站脚本攻击,是一种常见于web应用程序中的计算机安全漏洞。指的是在用户浏览器上,在渲染DOM树的时候,执行了不可预期的JS脚本,从而发生了安全问题。 XSS就是通过在用户端注入恶意的可运行脚本,若服务端对用户的输入不进行处理,直接将用户的输入输出到浏览器,然后浏览器将会执行用户注入的脚本。 所以XSS攻击的核心就是浏览器渲染DOM的时候将文本

  • 让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用 reduceByKey 另外一种方式使用 groupByKey: val words = Array("one", "two", "two", "three", "three", "three") val wordPairsRDD = sc.parallelize(words).map(word => (word, 1)) val

  • 本文向大家介绍什么是 CSRF 攻击,如何避免?相关面试题,主要包含被问及什么是 CSRF 攻击,如何避免?时的应答技巧和注意事项,需要的朋友参考一下 CSRF:Cross-Site Request Forgery(中文:跨站请求伪造),可以理解为攻击者盗用了你的身份,以你的名义发送恶意请求,比如:以你名义发送邮件、发消息、购买商品,虚拟货币转账等。 防御手段: 验证请求来源地址; 关键操作添加验

  • 问题内容: 如何保护我们的Web应用程序免受XSS攻击?如果一个应用程序不进行任何特殊字符转换,就很容易受到攻击。 问题答案: 您应该先将所有输入转回HTML,然后再将其输出回给用户。一些参考: OWASP XSS(跨站点脚本)预防备忘单 考虑从Apache Commons Lang使用 或从Spring使用 JSP / Servlet Web应用程序中的XSS预防