"no-referrer" 元标记不起作用

"no-referrer" meta tag doesn't work

我正在尝试制作一个 csrf script,它会发送 post request 而不会发送 referrer。我的代码:

<html>
<body>
<meta name="referrer" content="no-referrer">
<iframe style="display:none" name="csrf-frame"></iframe>
<form method='POST' action='https://www.example.com/test.php' target="csrf-frame" id="csrf-form">
<input type='hidden' name='x' value='y'>
<input type='submit' value='submit'>
</form>
<script>document.getElementById("csrf-form").submit()</script>
</body>
</html>

我正在尝试使用此元标记:<meta name="referrer" content="no-referrer"> 但没有成功,post 请求中仍然有一个推荐人。

我认为这里的问题是您将 <meta> 标签放在正文中。然而,<meta> 标签总是应该放在 <head> 元素内。您可能想要输入以下代码:

<!DOCTYPE html>
<html>
<head>
  <meta name="referrer" content="no-referrer">
</head>
<body>
  <iframe style="display:none" name="csrf-frame"></iframe>
  <form method='POST' action='https://www.example.com/test.php' target="csrf-frame" id="csrf-form">
    <input type='hidden' name='x' value='y'>
    <input type='submit' value='submit'>
  </form>
  <script>document.getElementById("csrf-form").submit()</script>
</body>
</html>

https://www.w3schools.com/tags/tag_meta.asp 上有更多关于此的信息。