<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ 信息安全 - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ 信息安全 - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Fri, 15 May 2026 14:30:23 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/tag/infosec/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 什么是 XSS？如何保护网站免受 DOM 跨站脚本攻击 ]]>
                </title>
                <description>
                    <![CDATA[ 网站安全和漏洞是一个全球性问题，网络安全漏洞正在增加。过去几年，这类案件的平均数量有了显著增长，2021 年达到了历史最高水平。 因此，在本教程中，我们将讨论 DOM XSS 跨站脚本安全问题以及它们对数据产生的影响。请务必阅读到最后。让我们从复习 DOM XSS 跨站脚本安全的基础知识开始。 什么是跨站脚本？ 跨站脚本（也称为 XSS）是一种网站安全问题 [https://www.wix.com/blog/2022/01/website-security/] ，当用户使用脆弱的应用程序时，会危害用户信息和数据。攻击者可以利用此漏洞绕过同源策略，该策略将两个网站彼此隔离。 攻击者可能会利用 XSS 假装自己是用户，执行用户将会执行的操作，并获取用户的信息。如果攻击者拥有权限和特权，攻击者便可以完全访问用户的信息。持续恶化下去，攻击者还可以接管网站的整个操作和性能。 为了帮助你更好地理解这些类型的攻击，我们将讨论 XSS 的运作原理和方法相关的基础知识。 XSS 如何运作？ 跨站脚本利用技术操纵脆弱网站，使其向用户发送危险的 JavaScript。这使攻击者能够在脚本获得用户系 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/how-to-protect-against-dom-xss-attacks/</link>
                <guid isPermaLink="false">63da30d9634c950733e7f9c0</guid>
                
                    <category>
                        <![CDATA[ 信息安全 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ PapayaHUANG ]]>
                </dc:creator>
                <pubDate>Wed, 01 Feb 2023 09:34:38 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/02/xss-code-case.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/how-to-protect-against-dom-xss-attacks/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is XSS? How to Protect Your Website from DOM Cross-Site Scripting Attacks</a>
      </p><!--kg-card-begin: markdown--><p><strong>网站安全</strong>和漏洞是一个全球性问题，网络安全漏洞正在增加。过去几年，这类案件的平均数量有了显著增长，2021 年达到了历史最高水平。</p>
<p>因此，在本教程中，我们将讨论 DOM XSS 跨站脚本安全问题以及它们对数据产生的影响。请务必阅读到最后。让我们从复习 DOM XSS 跨站脚本安全的基础知识开始。</p>
<h2 id="">什么是跨站脚本？</h2>
<p>跨站脚本（也称为 XSS）是一种<a href="https://www.wix.com/blog/2022/01/website-security/">网站安全问题</a>，当用户使用脆弱的应用程序时，会危害用户信息和数据。攻击者可以利用此漏洞绕过同源策略，该策略将两个网站彼此隔离。</p>
<p>攻击者可能会利用 XSS 假装自己是用户，执行用户将会执行的操作，并获取用户的信息。如果攻击者拥有权限和特权，攻击者便可以完全访问用户的信息。持续恶化下去，攻击者还可以接管网站的整个操作和性能。</p>
<p>为了帮助你更好地理解这些类型的攻击，我们将讨论 XSS 的运作原理和方法相关的基础知识。</p>
<h2 id="xss">XSS 如何运作？</h2>
<p>跨站脚本利用技术操纵脆弱网站，使其向用户发送危险的 JavaScript。这使攻击者能够在脚本获得用户系统访问权限时完全获得用户在网站的权限。但这一切的开始是用户执行 JavaScript。</p>
<h3 id="xss">XSS 攻击的类型</h3>
<h4 id="xss">反射型 XSS</h4>
<p>这种恶意脚本来自 HTTP 请求。这是 XSS 攻击的最基本类型，在这种情况下，应用程序接收到恶意数据后立即向用户反映。</p>
<p>攻击者的负载必须是发送到服务器的请求的一部分，然后反映到用户的应用程序上并执行。</p>
<p>其中一个例子是攻击者想方设法让某人点击钓鱼链接，然后攻击才生效。</p>
<h4 id="xss">存储型 XSS</h4>
<p>这种恶意脚本来自网站的数据库。攻击者在服务器上输入恶意请求，除非手动处理，否则它可能永久存在。</p>
<p>例如，攻击者可以在评论字段中输入恶意脚本，该脚本将对访问该页面的所有人显示。即使没有直接与脚本互动，页面访问者也可能成为此攻击的受害者</p>
<h4 id="domxss">基于 DOM 的 XSS</h4>
<p>这种是更高级的漏洞，它存在于客户端代码中的，而不是在服务器代码中。基于 DOM 的 XSS 既不是反射型的，也不存在于服务器上，而是存在于页面的文档对象模型（DOM）中。Web 应用程序读取恶意代码并将其作为 DOM 的一部分在浏览器中执行，这更难检测，因为它不通过服务器传递。</p>
<p>基于 DOM 的 XSS 攻击中涉及的<strong>安全漏洞</strong>对于大多数网站来说是一个严峻的问题。我们将讨论一些开源 Web 构建平台（例如 WordPress）上最常见的基于 DOM 的 XSS 风险。</p>
<p>攻击者在受害者的浏览器中执行恶意 JavaScript 代码，窃取敏感信息或以受害者的名义执行其他有害的操作。</p>
<p>以下是一个例子：</p>
<pre><code class="language-html">&lt;script&gt;
  //该函数接受一个用户提供的 URL 并展示在页面
  function displayURL(url) {
    // URL 通过 innerHTML 获得，执行 JavaScript 代码
    document.getElementById('display').innerHTML = url;
  }
&lt;/script&gt;

&lt;!-- 用户的输入传递给 displayURL 函数 --&gt;
&lt;p&gt;Enter a URL to display: &lt;input type="text" id="user-input" /&gt;&lt;/p&gt;
&lt;button onclick="displayURL(document.getElementById('user-input').value)"&gt;
  Display URL
&lt;/button&gt;

&lt;!-- URL 在 div 中显示 --&gt;
&lt;div id="display"&gt;&lt;/div&gt;
</code></pre>
<p>请注意本教程仅用于教学目的，帮助你识别和防护 XSS。你不可以复刻类似攻击。</p>
<h2 id="domxsswordpress">DOM XSS – WordPress 漏洞</h2>
<p>WordPress 的 DOM XSS 攻击的主要目标是它的用户。用户输入他们的详细信息，账户和网站凭证以访问他们的 WordPress 站点，这就是 DOM XSS 攻击试图在线损害的内容。攻击者可以使用 DOM XSS 获取用户信息和详细信息，只需点击一下。</p>
<p>这也包括你的 cookies、信息等，使它成为最常见的 <strong>WordPress 安全漏洞</strong>。</p>
<p>以下是你应该牢记的一些顶级 WordPress 网站安全问题，以确保更好的跨站脚本安全</p>
<h3 id="">访问用户私人信息</h3>
<p>一个最常见的 WordPress 安全漏洞与 DOM XSS 攻击有关，攻击者可以获得有用的信息，甚至完全控制用户的网站。这通常会使事态迅速升级，导致完全数据泄露。</p>
<h3 id="">假冒用户</h3>
<p>攻击者可以假装是用户，与受害者的在线用户，客户互动，以获得信息。</p>
<h3 id="">破坏网站</h3>
<p>另一个相关的 XSS 安全问题是，攻击者破坏网站并从用户那里夺取访问权限。这包括在网站上显示与原始网站不同的内容（或不是来自原始网站的内容）。</p>
<p>其他情况可能涉及改变 WordPress 在线的外观。其他人也可能通过安装特定工具使用网站。</p>
<h3 id="">社交工程</h3>
<p>更严重的情况下，攻击者可能通过网络钓鱼影响 WordPress 网站。这是一个常见的网站构建平台安全漏洞，我们马上就要详细讨论。</p>
<p>XSS 跨站脚本安全问题对每个网站的影响各不相同。然而，WordPress 网站通常面临更高的风险，因为用户在网站上保存了个人信息。如果用户是管理员，风险进一步增加，因为攻击者可以破坏整个 WordPress 网站。</p>
<h2 id="domxss">DOM XSS 和非开源网站构建平台</h2>
<p>不同于 WordPress，如 Weebly、Squarespace、Webflow 和 Wix 这类网站构建器是非开源平台。它们允许用户通过拖放式 DIY 功能，在没有任何代码或设计经验的情况下，直观地为业务创建网站。这些平台也努力保护用户的安全。</p>
<p>有大量有用的工具、选项、易于整合的仪表板和托管方式，供用户使用并信任这些平台。当然，网站安全问题对于这些平台的大多数用户来说是一个主要关注点。</p>
<p>许多网站构建器都在努力保护用户网站免受<a href="https://techbullion.com/how-to-secure-your-online-store-from-hackers/">黑客威胁</a>。但是在所有可用的网站构建器中，我相信 Wix 在遵循 NIST 网络安全框架方面做得最好，并已成为该领域的重要贡献者。</p>
<p>Wix 使用如下工具保护用户不受这类攻击的影响：</p>
<ul>
<li>第三方更新项目，防止 DOM XSS 攻击</li>
<li>安全的套接字层，防止网站上的用户被未经授权的访问</li>
<li>全天候的安全网络托管，防止任何不需要的登录或网络钓鱼攻击</li>
<li>只有给原始所有者控制和访问限制网站的管理员特权</li>
<li>显示弱密码并建议更难解密的密码</li>
</ul>
<h2 id="xss">防御 XSS 攻击的方法</h2>
<p>防御 XSS 攻击通常需要多维度的方法，以确保服务器和应用程序不受各种类型攻击的影响。</p>
<p>防御 XSS 攻击的最佳方法是适当地对用户输入进行清理。这意味着确保任何用户输入被正确编码，浏览器则不能将其解释为代码。</p>
<p>此外，你可以使用 web 应用程序防火墙（WAF）来帮助识别和阻止 XSS 攻击。最好将软件和 web 应用程序保持在最新版本，因为许多 XSS 漏洞可以通过最新的安全补丁来解决。</p>
<h3 id="">输入验证</h3>
<p>这种编程技巧确保只有格式正确的数据才能进入软件系统。网站可以允许或阻止某些值，以确保不会有 XSS 侵入其服务器。</p>
<h3 id="">转义或编码用户输入</h3>
<p>编码和转义将用户输入转换为更安全的形式。编码用更安全的等效物替换特殊字符（例如，将 <code>&lt;</code> 转换为 <code>&amp;lt</code>），而转义则添加特殊字符以防注入攻击。</p>
<h3 id="csp">执行内容安全策略（CSP）</h3>
<p>内容安全策略帮助管理员通过限制页面在特定时间内加载的资源来减轻 XSS 攻击的影响。这些资源可以包括可能损害客户端和服务器的脚本和图像。</p>
<h2 id="">底线</h2>
<p>DOM XSS 跨站脚本安全问题对网站用户是一个严峻的问题。但是封闭的代码网站构建平台提供的，如：管理员权限、密码最佳实践、第三方更新等功能，使它们比许多开放代码平台更加安全。</p>
<p>你可以通过过滤输入来防止 XSS 攻击。你也可以通过只接受有效输入来实现。</p>
<p>输出时对数据进行编码，该过程应在 HTTP 响应中完成，以免被读取为活跃内容。根据输出的上下文，可能需要更复杂的编码，例如应用 URL、JavaScript、CSS 和 HTML 编码的组合。</p>
<p>检查响应标头，以便浏览器对内容有适当的解释。</p>
<p>最后，使用内容安全策略（CSP）来最大程度地降低 XSS 攻击的严重性。</p>
<pre><code class="language-html">&lt;meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"
/&gt;
</code></pre>
<p>CSP 允许网站从同一个源（即你自己的网站）加载脚本和样式，但它将阻止来自外部来源的脚本和样式。它还将允许使用内联脚本和样式，但阻止 <code>eval()</code> 语句，因为这个语句可用于执行任意代码。</p>
<p>当然，这只是一个简单的例子，你可以根据自己的特殊需求自定义 CSP。有关如何使用 CSP 来防御 XSS 攻击的更多信息，你可以参考内容安全策略级别 2 规范。</p>
<p><em>图片来自 Unsplash（Florian Olivo）。</em></p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 跨站请求伪造——什么是 CSRF 攻击以及如何预防它 ]]>
                </title>
                <description>
                    <![CDATA[ 跨站点请求伪造（Cross Site Request Forgery）又被称作 CSRF，是恶意站点或程序通过已认证用户的浏览器在受信任站点上执行非正常操作。可进行的恶意操作局限于已在网站通过身份验证的用户的功能。 例如，Jane 可能会在查看电子邮件的同时登录了她的网上银行，然后可能会点进钓鱼邮件中的自带转账请求的链接（比如迷惑性的短链接），要求 Jane 的银行转账至被攻击者控制的账户里。 由于 Jane 已经登陆了银行，该转账请求会被自动执行，因为是通过已被 Jane 授权了的浏览器发出的请求。 什么是 HTTP 请求（Requests）和 Cookie? HTTP GET 请求 这个请求用于向 Web 服务器请求数据（比如输入 URL（请求网站）加载）。 HTTP POST 请求 这个请求用于向 Web 服务器发送数据（比如提交 Web 表单）。 某些 GET 和 POST 请求会自动触发，无需用户交互（例如获取搜索建议或使用 img src  属性加载图像内容）。 会话 Cookies 会话 cookie 是 HTTP 处理状态的一种方式（因为它本身不处理状态）。 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/what-is-cross-site-request-forgery/</link>
                <guid isPermaLink="false">6125c47db03439064c61ca27</guid>
                
                    <category>
                        <![CDATA[ 信息安全 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp.org ]]>
                </dc:creator>
                <pubDate>Wed, 25 Aug 2021 04:00:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2021/08/megan-article-image.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>跨站点请求伪造（Cross Site Request Forgery）又被称作 CSRF，是恶意站点或程序通过已认证用户的浏览器在受信任站点上执行非正常操作。可进行的恶意操作局限于已在网站通过身份验证的用户的功能。</p>
<p>例如，Jane 可能会在查看电子邮件的同时登录了她的网上银行，然后可能会点进钓鱼邮件中的自带转账请求的链接（比如迷惑性的短链接），要求 Jane 的银行转账至被攻击者控制的账户里。</p>
<p>由于 Jane 已经登陆了银行，该转账请求会被自动执行，因为是通过已被 Jane 授权了的浏览器发出的请求。</p>
<h2 id="httprequestscookie">什么是 HTTP 请求（Requests）和 Cookie?</h2>
<h3 id="httpget">HTTP GET 请求</h3>
<p>这个请求用于向 Web 服务器请求数据（比如输入 URL（请求网站）加载）。</p>
<h3 id="httppost">HTTP POST 请求</h3>
<p>这个请求用于向 Web 服务器发送数据（比如提交 Web 表单）。</p>
<p>某些 GET 和 POST 请求会自动触发，无需用户交互（例如获取搜索建议或使用 <code>img src</code> 属性加载图像内容）。</p>
<h3 id="cookies">会话 Cookies</h3>
<p>会话 cookie 是 HTTP 处理状态的一种方式（因为它本身不处理状态）。 网站使用会话 cookie（包含唯一 ID）来识别用户并保留他们的会话。</p>
<p>设置会话 cookie 后，用户浏览器会在每次请求时将 cookie 发送到服务器，以供站点识别用户。</p>
<p>攻击者可以通过强制用户浏览器发送请求来利用 cookie 来冒充用户，如果用户已经登录到站点，cookie 将随请求自动发送。</p>
<h2 id="">跨站点请求伪造是如何工作的?</h2>
<p>攻击者进行 CSRF 攻击需要满足以下几点：</p>
<ul>
<li>攻击者想在网站应用中执行一种操作 — 例如更改密码、转账等。</li>
<li>不包含不可猜测的请求参数 — 攻击者可以猜测（或知道）网站应用的此类请求中需要的所有参数。</li>
<li>该操作仅依赖 cookie 来验证请求是否来自用户，并可以通过 HTTP 请求执行。</li>
</ul>
<p>CSRF 会影响网站使用 cookie，浏览器身份验证或客户端证书对用户进行身份验证的 Web 应用程序。基本上 CSRF 可能发生在应用程序自动将用户证书或身份添加到请求的任何情况下。</p>
<p>CSRF 攻击可以利用 GET 请求或 POST 请求（由于 POST 请求更复杂，因此不常见）。</p>
<p>两者都需要攻击者先诱骗受害者加载或将信息提交到 Web 应用程序。这可以通过多种方式发生 - 例如钓鱼链接。</p>
<p>另外，类似于 XSS（跨站点脚本），CSRF 可以是一个可以被存储型漏洞。 比如攻击者将攻击代码存储在被接受的 HTML 代码中就会导致存储型 CSRF（例如 <code>IMG</code> 或 <code>IFRAME</code> 标签）时。这意味着浏览该页面的任何人都可能受到影响。 该漏洞可以伪装成普通链接或隐藏在图像标签中。</p>
<p>例如，作为网页上的普通链接 <code>&lt;a href=“malicious link”&gt;Unsubscribe here&lt;/a&gt;</code></p>
<p>或者伪装成图片标签: <code>&lt;img src=“malicious link” width=“0” height=“0” border=“0”&gt;</code></p>
<h2 id="csrf">CSRF 示例</h2>
<p>想象一下，你的银行（bank.com）使用 GET 请求处理转账，其中包括几个参数（收款人身份以及转账的金额）。</p>
<p>例如，如果 Jim 想给他的朋友 Bob 10 美元，请求可能如下所示：</p>
<p><code>http://bank.com/transfer?recipient=Bob&amp;amount=10</code></p>
<p>该请求还包括一个会话 cookie，用于标识帐户所持有人，以便银行知道从哪里取款。</p>
<p>现在，攻击者可能成功使 Jim 单击如下所示的链接（但已被巧妙的用缩短器或超链接缩短）：</p>
<p><code>http://bank.com/transfer?recipient=Hacker&amp;amount=100000</code></p>
<p>因为 Jim 已经登录，他的浏览器会将他的 cookie 和请求一并发送 — 所以他的银行相信他本人正在请求转账于是执行了转账请求。</p>
<h2 id="csrf">如何防止 CSRF 攻击</h2>
<h3 id="">谨慎选择网站框架</h3>
<p>使用内置了防护 CSRF 的框架，例如 <code>.NET</code>。 正确的配置很重要。如果你使用的框架没有保护，可以使用 Anti-CSRF 令牌添加保护。</p>
<h3 id="anticsrf">使用 Anti-CSRF 令牌</h3>
<p>令牌（也称为令牌同步模式）是一种服务器端的保护方式，服务器向用户的浏览器提供唯一的、随机生成的令牌，并检查每个请求来查看浏览器是否在执行请求之前将其发回。</p>
<p>这个令牌通过隐藏字段发送，应该是一个会在很短的时间内失效的不可预测的随机数，且不能重复使用。</p>
<p>根据不同页面的信息敏感程度，可以针对每个请求使用不同的令牌，或者仅针对不同的表单。令牌应该以安全的方式进行对比验证（例如比较哈希值），并且不应在 HTTP GET 请求中发送，防止作为 URL 的一部分或者 Referrer 泄漏。</p>
<h3 id="cookiesamesite">在 Cookie 中使用 SameSite 标记</h3>
<p>SameSite 标记的 cookie，只能发送来自同域名的请求。</p>
<p>基本上，www.bank.com 可以被允许向<code>www.bank.com/updatepassword</code> 提交 request 请求。 但<code>www.maliciousdomain.com</code>向 www.bank.com/updatepassword 发出请求时不能发送会话 cookie，因此无法进行攻击。</p>
<p>现在大多数浏览器都支持这个标志，但不是全部。它应该是综合防御战略的一部分。</p>
<h3 id="">深入练习防御</h3>
<p>你可以进行许多其他的控制措施并配合其他措施使用，可以提供针对 CSRF 的保护。</p>
<p>例如，你可以采取以下一些其他保护措施</p>
<ul>
<li>使用标准头文件验证来源（确定请求的来源和目标位置是否匹配）</li>
<li>使用自定义的请求头文件（站点将不接受没有相应的头文件的请求）</li>
<li>双重提交 cookie（尤其是一秒钟随机生成且未知的 cookie；对于攻击者来说，必须提交该参数才能正常请求）。</li>
</ul>
<h3 id="">让用户参与交易流程</h3>
<p>对于转账或密码更改等敏感操作，要求用户行为（如 CAPTCHA、一次性令牌或重新身份验证）。</p>
<h2 id="">无效的措施示例：</h2>
<ul>
<li><strong>多步骤交易：</strong> 只要攻击者可以预测/确定每个步骤，有多少步骤并不重要。</li>
<li><strong>HTTPS：</strong> 总是一个好的安全措施，但对于 CSRF 无效</li>
<li><strong>URL 改写：</strong> 这可以防止攻击者在 CSRF 攻击期间猜测受害者的会话 ID，但随后攻击者可以在 URL 中看到它。用一个缺陷替换另一个缺陷并不是一个好主意。</li>
<li><strong>使用私密（Secret）Cookie：</strong> 私密 cookie 同样是作为请求的一部分提交，也就是仍然可以被攻击者利用。</li>
<li><strong>只接受 POST 请求/避免 GET 请求：</strong> 伪造的 POST 请求仍可用于执行 CSRF 攻击。</li>
</ul>
<h3 id="csrf">CSRF的其他称呼</h3>
<p>CSRF 也被称作 XSRF，Sea Surf（CSRF 发音），会话叠置（Session Riding），跨站点引用伪造（Cross-Site Reference Forgery），恶意连接（Hostile Linking），一键攻击（One-Click Attack）。</p>
<h3 id="">资料来源/扩展阅读</h3>
<ul>
<li><a href="https://owasp.org/www-community/attacks/csrf">OWASP CSRF</a></li>
<li><a href="https://owasp.org/www-community/attacks/csrf">OWASP CSRF Prevention</a></li>
<li><a href="https://www.netsparker.com/blog/web-security/csrf-cross-site-request-forgery/">CSRF Attacks</a></li>
<li><a href="https://www.netsparker.com/blog/web-security/protecting-website-using-anti-csrf-token/">Anti-CSRF Tokens</a></li>
<li><a href="https://www.acunetix.com/websitesecurity/csrf-attacks/">CSRF Basics</a></li>
<li><a href="https://portswigger.net/web-security/csrf">PortSwigger CSRF</a></li>
</ul>
<!--kg-card-end: markdown--><p>原文：<a href="https://www.freecodecamp.org/news/what-is-cross-site-request-forgery/">Cross Site Request Forgery – What is a CSRF Attack and How to Prevent It</a>，作者：<a href="https://www.freecodecamp.org/news/author/megansdoingfine/">Megan Kaczanowski</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
