javascript - 是否通过浏览器发送没有名称 =“” 的输入字段

标签 javascript ssl web credit-card stripe-payments

没有 name 属性的输入字段是否容易受到 MITM 攻击(无 SSL)或任何其他攻击?

例如:

<form action="" method="post">
    <label for="credit_card_number"><input id="credit_card_number" type="text" value="4111111111111111"></label>
    <button type="submit">Submit</button>
</form>

我正在做的是使用 javascript 获取值,然后发布到 stripe.js,接收 token ,然后在提交之前清除 CC 字段的所有值(即使在我的测试中从未发送值)表单发送到服务器( token 字段是唯一收到的东西)。

我知道 SSL 是一个“好主意”,但它是否有必要防止攻击(例如 MITM)?还有“为什么?”,如果是的话。

最佳答案

HTML spec说一个表单字段只有在与名称属性配对时才应被视为有效,因此浏览器不应提交没有名称的表单字段(无论如何都不能,因为无法将其解析为查询字符串)。

这实际上与 MITM 攻击无关;您总是希望通过 HTTPS 为您的页面提供服务,以减少有人拦截请求并修改支付页面以获取详细信息并将其发送到其他地方的可能性。

关于javascript - 是否通过浏览器发送没有名称 =“” 的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395520/

相关文章:

web - 我还需要提交子站点地图吗?

tcp - 构建DHCP数据包(DHCPDISCOVER),数据包结构

javascript - angular.js自动完成选择选项不会触发其他模型

windows - curl : (1) Protocol https not supported or disabled in libcurl [windows XP]

javascript - 如果 h2 包含这个词,jquery 将 <br> 添加到 h2

php - curl 错误 : unable to set private key file: 'test.pem' type PEM

android - Android不信任自签名CA

javascript - 使用 javascript 打开一个窗口,并从外部源加载 HTML 内容

javascript - 使用 javascript 计算 for 循环内条件为 true 的次数

javascript - 单击输入标签会更改整个内容