我尝试使用recapcha API,因为我不希望有人获得机器人程序并将其提交到论坛站点,用户默认具有3个最大帖子,然后他们必须支付更多费用,因此我不确定这是否是一个真正的威胁(我是一名新开发人员),我创建了以下组件,希望我能正确使用API或什至在现场使用它时也能得到一些建议,我不知道真正的威胁是什么在那里...
API:https://www.npmjs.com/package/react-google-recaptcha代码:https://codesandbox.io/s/clever-breeze-nevll
const App = () => {
const [firstName, setFirstName] = useState("");
const [lastName, setLastName] = useState("");
const [allowSubmit, setAllowSubmit] = useState(false);
const onChange = value => {
console.log("Captcha value:", value);
setAllowSubmit(true);
};
const onSubmit = event => {
event.preventDefault();
console.log(
`Your first name is ${firstName} , your last name is ${lastName}`
);
setAllowSubmit(false);
};
return (
<form onSubmit={onSubmit}>
<label htmlFor="first name"> firstName </label>
<input
placeholder="enter your first name"
onChange={event => setFirstName(event.target.value)}
/>
<br />
<label htmlFor="first name"> lastName </label>
<input
placeholder="enter your last name"
onChange={event => setLastName(event.target.value)}
/>
<br />
<ReCAPTCHA
sitekey="6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI"
onChange={onChange}
/>
<button disabled={!allowSubmit}> Submit </button>
</form>
);
};
如果有表单,则漫游器会尽早尝试自动向其提交数据。但是,如果您有一个要求身份验证的论坛,并且每个用户的帖子数限制为三个,则应该不会有太多问题。