【发布时间】:2020-07-19 11:47:19
【问题描述】:
我有一个用户注册表单,用户可以填写其字段(用户名、密码、电子邮件)来注册他的帐户。我想更改此表单,当用户单击提交按钮时,它似乎单击了两次按钮。换句话说,我想同时向服务器发送两个相同的请求。我怎样才能做到这一点 ? 我的html代码是这样的:
实际上我想实现竞争条件问题。如您所知,在任何用户注册表单中,用户名必须是唯一的。我想测试 Web 应用程序是否可以进入竞争条件并存储两个相同的用户名?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Register</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css">
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="register">
<h1>Register</h1>
<form action="register.php" method="post" autocomplete="off">
<label for="username">
<i class="fas fa-user"></i>
</label>
<input type="text" name="username" placeholder="Username" id="username" required>
<label for="password">
<i class="fas fa-lock"></i>
</label>
<input type="password" name="password" placeholder="Password" id="password" required>
<label for="email">
<i class="fas fa-envelope"></i>
</label>
<input type="email" name="email" placeholder="Email" id="email" required>
<input type="submit" value="Register">
</form>
</div>
</body>
</html>
【问题讨论】:
-
注册后创建一个新表单并重定向到该表单如何?这将解决您的问题。
-
对我来说闻起来像 XY problem。 为什么你需要两个相同的请求?这将是一件非常不寻常的事情,不仅您可以在服务器上处理两次而不是要求客户端发送两个请求,而且首先执行两次相同的用户注册听起来很奇怪(不管实施复制的地方)。这样做有什么目的?
-
其实我想实现竞态条件问题。正如您在任何用户注册表格中所知道的,用户名必须是唯一的。我想测试 Web 应用程序是否可以进入竞争条件并存储两个相同的用户名?
-
哦,所以这是质量保证或(自)渗透测试的一部分?请修改您的问题并包含此重要信息。谢谢。
-
我编辑了我的问题,非常感谢您的建议
标签: html testing web-applications race-condition