如何使用 HTML/PHP 防止 XSS?

2024-01-25

我该如何预防XSS https://en.wikipedia.org/wiki/Cross-site_scripting(跨站点脚本)仅使用 HTML 和 PHP?

我已经看过很多关于这个主题的其他帖子,但我还没有找到一篇文章清楚、简洁地说明如何真正防止 XSS。


基本上你需要使用该功能htmlspecialchars() http://php.net/manual/en/function.htmlspecialchars.php每当您想在 HTML 上下文中向浏览器输出某些内容时。

使用这个函数的正确方法是这样的:

echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

Google Code University 还提供了这些有关网络安全的非常有教育意义的视频:

  • 如何破解 Web 软件 - 看看 Web 软件中的安全漏洞 网络软件 https://www.youtube.com/watch?v=jXP7b-xby6U

  • 每个工程师都需要了解的安全知识 以及在哪里学习 https://www.youtube.com/watch?v=LL_n7dlBgfY

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 HTML/PHP 防止 XSS? 的相关文章

  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • jQuery ajax 调用包含重音字符的 url 将错误的 Uri 从 IE 发送到服务器

    我在使用 IE 发送包含重音字符的 url 时遇到问题 这是一个简单的函数 function runjQueryTest var url test Beyonc get url function 在服务器 PHP 上我记录了请求uri的值
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows

随机推荐

  • 按名称获取班级

    我可以通过名称获取一个类吗 例如 class Foo class Bar let x Foo classByString x need to return Foo 我想使用元编程来减少代码维护 您可以使用NSClassFromString
  • WPF 控件中的本机 Win32 窗口

    我正在开发一个需要主机本机 Win32 窗口的应用程序 但不知何故我不知道如何做到这一点 我需要创建一个可以在其上显示本机 Win32 控件的 WPF 对话框窗口 该对话框窗口上也将具有 WPF 控件 因此我正在寻找某种可以获取 HWND
  • 使用 Vaadin 登录的 Spring Boot 安全性

    我尝试构建一个基于 Spring Boot 1 2 7 RELEASE 和 Vaadin 7 6 3 的应用程序 我的问题是我无法将 Spring Security 与 Vaadin 集成 我想要一个自定义 Vaadin 构建的 Login
  • ASP.NET Web App 使用错误的 (2.0) CLR 版本(而不是 4.0)

    我刚刚将我一直在开发的 ASP NET Web 应用程序部署到新的开发机器上 这是一个从3 5转换而来的4 0项目 由于某种原因 当我尝试通过默认网站下的 IIS 网站访问该网站时 出现以下错误 无法识别的属性 targetFramewor
  • Python requests & urllib3 Retry - 如何从内部重试循环内部模拟 ConnectionError?

    给出以下示例用法 adapter HTTPAdapter max retries Retry total 5 backoff factor 0 1 status forcelist 429 500 502 503 504 method wh
  • 为什么这个 jQuery .change 事件在 .click 事件之后停止工作

    我有一个脚本 它显示数组中的问题 并使用以下命令从一个问题切换到下一个问题 click两个按钮上的事件 上一个和下一个 当我加载页面时 radio change选择器工作正常 但是当我单击上一个或下一个时 它停止工作 我尝试改变 previ
  • 正则表达式匹配双引号内的每个字符串并包含转义引号

    已经有很多类似的问题了 但没有一个适合我的情况 我有一个字符串 其中包含双引号内的多个子字符串 并且这些子字符串可以包含转义的双引号 例如对于字符串 然后 这是一些带有引号和 转义引号 的示例文本 并不是说我们需要更多 而是 这是 另一个
  • 如何让 Push() 键生成我的 Firebase?

    正如你从照片中看到的 我有一个孩子FreezerItems 在该子项下我还有另外两个子项 它们是 Firebase 使用创建的随机键push 我的问题是 我具体如何获得密钥L8i2M4wNUF5wOojaFE 另外我如何将该密钥放入我的Re
  • 如何在 f# 中执行多行 lambda 表达式?

    我该如何在 F 中执行此操作 C public class MyClass void Render TextWriter textWriter Tag gt textWriter WriteLine line 1 textWriter Wr
  • 无法使用 Visual Studio 2013 运行 Cordova 应用程序

    我已成功安装 多设备混合应用程序 所需的所有第三方设置 但是当我使用 Visual Studio 2013 运行我的应用程序时 出现以下两个错误 Error 1 cmd Command failed with exit code 255 E
  • 基于公共id连接两个js对象数组的函数式方法

    我正在尝试实现类似于 SQL 表连接的功能 以最优雅 功能 的方式 最好使用 underscore js 所以请不要使用 for 循环 我需要合并两个不同数组中的对象 并与一个公共标识符进行匹配 例如 给定 var basic id 1 n
  • php - 按自定义标准对数组进行排序

    我有一个对象数组 object1 gt name Name1 key key1 object2 gt name Name2 key key2 object3 gt name Name3 key key3 和一组优先级键 keys key3
  • 如何将由空格参数分隔的字符串传递给 Jenkins 构建触发器?

    到目前为止 这有效 http JENKINS SERVER job YOUR JOB NAME buildWithParameters myparam Hello 但当value of myparam包含空格 例如Hello word它不起
  • CSS height 属性的“auto”值到底意味着什么?

    w3schools 说height auto 浏览器计算高度 这是默认值 但是 浏览器计算高度 是什么意思呢 这是否意味着它只是简单地总结了所包含元素的高度 对于所有浏览器来说 这总是用相同的方法计算吗 这是什么意思浏览器计算高度 这意味着
  • 一起使用 Guice 和 JMock 的最佳方式是什么?

    我已经开始使用 Guice 对项目进行一些依赖注入 主要是因为我需要在远离单元测试的一层注入模拟 当前使用 JMock 这使得手动注入非常尴尬 我的问题是引入模拟的最佳方法是什么 我目前所拥有的是在单元测试中创建一个满足依赖关系的新模块 并
  • 将数字部分从字母数字中分离出来

    我有一个字母数字值 其中可能包含空格或下划线 我想从中拆分数字并将值加一 并且需要将数字部分连接回 Alpha 部分 例如 字母数字可能是 1 BA 123 或 2 BA 123 我使用正则表达式 如果字符串不包含任何空格或下划线 它就可以
  • 如何告诉 VTK 管道使用通过 TimerEvent 更新的新 vtkPolyData?

    意图 我编写了一个 VTK 应用程序 它使用 vtkPoints gt vtkPolyLine gt vtkPolyData gt vtkPolyDataMapper 生成螺旋并显示它 如果在程序初始化时静态完成 则效果很好 现在 我想动态
  • SonataAdminBundle 自定义组图标

    我正在使用 SonataAdminBundle 为我的页面实体生成 CRUD 使用下面的 yaml 文件 菜单将显示在侧栏中 我想更改组默认图标 fa fa folder 但我找不到执行此操作的选项 sonata admin page cl
  • 将 Angular 从 4.0.0-beta.5 升级到 4.0.0 会破坏动画和单元测试

    我已将应用程序中的 Angular 包从 4 0 0 beta 5 升级到 4 0 0 当我运行单元测试时 我看到以下错误 错误 找到合成属性 transition 请在您的应用程序中包含 BrowserAnimationsModule 或
  • 如何使用 HTML/PHP 防止 XSS?

    我该如何预防XSS https en wikipedia org wiki Cross site scripting 跨站点脚本 仅使用 HTML 和 PHP 我已经看过很多关于这个主题的其他帖子 但我还没有找到一篇文章清楚 简洁地说明如何