如何避免在 angular 应用程序中出现一系列输入?
How can I avoid a sequence of inputs followed in the angular application?
我正在学习angular,我遇到了这个问题。我怎样才能防止用户通过连续多次输入表格来阻止程序泛滥......例如使用这个 javascript:
javascript:for(var i=0;i<9999999;i++){ document.getElementByTagName("button")[0].click();
那是我的 angular 代码:
组件:
export class InsertTODO implements OnInit {
constructor(private angularFire: AngularFireDatabase) { }
ngOnInit() {
}
form_submit(f: NgForm) {
this.angularFire.list('todos').push(
{
name: f.controls.name.value
}).then((t: any) => console.log('recorded data ' + t.key),
(e: any) => console.log(e.message));
f.controls.name.setValue('');
}
查看:
<h1> WorkZone TODO </h1>
<form #f="ngForm" (submit)="form_submit(f)">
<input type="text" ngModel name="name" placeholder="TODO">
<br/>
<br/>
<button type="submit">Insert</button>
<button type="reset">Clear</button>
</form>
这是在线 workzone.tk
部署在 firebase 托管
谢谢大家!
阻止多个 post 并不容易,无论如何,如果您在应用程序(客户端)中进行限制,仍然有人可以使用某些自动化工具向您的网站发出多个重复请求。例如,如果您使用 fiddler
,您可以多次播放相同的请求。即使使用开发人员工具也可以实现这一点,您可以在其中重播任何请求。
这不能在客户端处理。您只需在服务器端处理。
以下是您可以尝试的几种方法。
在您的应用程序中实施 CAPTCHA/re-CAPTCHA
。这很容易
进行集成,您会在 Angular
中找到很多插件供您使用。
你也可以想到基于IP的限制,如果来自特定的IP,
你收到多个请求,你可以阻止它一段时间。
您可以随时在服务器 side/db 端检查是否已经有相同的记录
存在,如果存在则拒绝请求。
我正在学习angular,我遇到了这个问题。我怎样才能防止用户通过连续多次输入表格来阻止程序泛滥......例如使用这个 javascript:
javascript:for(var i=0;i<9999999;i++){ document.getElementByTagName("button")[0].click();
那是我的 angular 代码: 组件:
export class InsertTODO implements OnInit {
constructor(private angularFire: AngularFireDatabase) { }
ngOnInit() {
}
form_submit(f: NgForm) {
this.angularFire.list('todos').push(
{
name: f.controls.name.value
}).then((t: any) => console.log('recorded data ' + t.key),
(e: any) => console.log(e.message));
f.controls.name.setValue('');
}
查看:
<h1> WorkZone TODO </h1>
<form #f="ngForm" (submit)="form_submit(f)">
<input type="text" ngModel name="name" placeholder="TODO">
<br/>
<br/>
<button type="submit">Insert</button>
<button type="reset">Clear</button>
</form>
这是在线 workzone.tk 部署在 firebase 托管
谢谢大家!
阻止多个 post 并不容易,无论如何,如果您在应用程序(客户端)中进行限制,仍然有人可以使用某些自动化工具向您的网站发出多个重复请求。例如,如果您使用 fiddler
,您可以多次播放相同的请求。即使使用开发人员工具也可以实现这一点,您可以在其中重播任何请求。
这不能在客户端处理。您只需在服务器端处理。
以下是您可以尝试的几种方法。
在您的应用程序中实施
CAPTCHA/re-CAPTCHA
。这很容易 进行集成,您会在Angular
中找到很多插件供您使用。你也可以想到基于IP的限制,如果来自特定的IP, 你收到多个请求,你可以阻止它一段时间。
您可以随时在服务器 side/db 端检查是否已经有相同的记录 存在,如果存在则拒绝请求。