Php 使用HTML5进行客户端表单验证

Php 使用HTML5进行客户端表单验证,php,html,forms,validation,Php,Html,Forms,Validation,我想使用HTML5属性,如type、pattern、required、minlength等,作为客户端验证来验证我的web表单。我并不是为了同样的目的使用JavaScript。当然,对于服务器端验证,我将使用PHP 它会给我的web表单带来什么样的安全问题(如果有的话)(因为我没有使用JavaScript验证)?客户端验证纯粹用于加快速度-它不会以任何方式提高安全性。客户端验证允许用户在不提交表单的情况下实时查看服务器是否接受他们的输入。它对用户非常友好 然而,服务器端验证非常重要,因为人们总是

我想使用HTML5属性,如type、pattern、required、minlength等,作为客户端验证来验证我的web表单。我并不是为了同样的目的使用JavaScript。当然,对于服务器端验证,我将使用PHP


它会给我的web表单带来什么样的安全问题(如果有的话)(因为我没有使用JavaScript验证)?

客户端验证纯粹用于加快速度-它不会以任何方式提高安全性。客户端验证允许用户在不提交表单的情况下实时查看服务器是否接受他们的输入。它对用户非常友好


然而,服务器端验证非常重要,因为人们总是可以向服务器发送任意数据,完全忽略HTML/Javascript约束。最后它只是一个HTTP请求,所以任何人都可以伪造它。但是没有人可以绕过位于用户和数据库之间的服务器,因此所有验证都必须在那里进行。

html5验证只是为了更好的用户体验,而不是为了安全。您已经通过使用服务器端验证和PHP触发了这一点


对于服务器验证设计,使用HTML5验证与否没有任何区别。

唯一的问题是某些浏览器可以忽略这些属性。如果启用,javascript将在任何地方都能工作。

好的,下面列出了十大网站安全问题。

其中HTML5属性只能处理第一个。而php可以处理2、3、4、5、7和10。

还要记住,正如user4035提到的,HTML5属性不受旧浏览器的支持。
您应该对数据进行双重验证。因为很多时候人们在浏览器中禁用JavaScript。那么只有使用php进行服务器端验证才能节省您的时间。因此,您必须使用HTML5属性(尽可能多地使用它们)验证您的数据,因为它很容易使用,然后您还可以使用JavaScript验证数据,不要忘记使用php验证数据。现在,我们的数据验证了所有类型的一般后果。


1. 输入和输出数据的验证:
网站使用的所有数据(来自用户、其他服务器、其他网站 和内部系统)必须验证类型(例如数字、日期、, 字符串),长度(例如,最多200个字符,或 正整数)和 语法(例如,产品代码以2个字母开头,后跟5个字母 数字)和商业规则(例如,电视的价格只能在100英镑到100英镑之间 2000英镑,一份订单每天最多可包含20项 信用额度不得超过 超过)。所有作为输出(显示)写入的数据都需要安全保存 在浏览器、电子邮件客户端或其他软件中查看 必须检查返回的数据。利用 同步JavaScript XML(AJAX)或AdobeFlex增加了复杂性和可能的攻击 向量。

2. 直接数据访问(和盗窃):
如果存在数据,则可以查看或提取数据。避免储存 您在网站及其数据库中不需要的数据–用于 示例:应提供一些与支付卡相关的数据 切勿将其存储。
开发不良的系统可能允许通过SQL注入访问数据 前十名 网站安全问题 2. 妥协、输入和输出数据验证不足(见第1条 或系统安全性差。

3. 数据中毒:
如果用户可以不适当地修改或删除数据 这是用来 更新您的内部系统、业务信息 他正在迷路。这个可以 很难发现,检查业务规则很重要 并强制验证数据更改,以确保不会发生中毒 发生。如果在井前未检测到中毒 事情发生后,它 可能无法恢复原始数据。

4. 恶意文件执行:
上传的文件或其他数据源可能不是什么 他们似乎是。从未 允许在任何文件中使用用户提供的输入 me或路径(例如URL或 文件系统引用)。上载的文件也可能包含恶意代码 因此,有效载荷不应存储在网络可访问的位置。

5. 身份验证和会话管理:
网站依靠识别用户来提供数据访问权限 和功能。If认证(验证 身份、注册和登记 登录)、授权(授予访问权限) 和会话管理 (跟踪登录用户的身份 当他们浏览 网站)可以规避或更改,用户可以访问资源 不允许他们这样做。尤其要注意密码提醒, 记住我,更改密码,注销和更新 账户详情如下: 已处理,如何使用会话令牌,并且始终在 专用和加密(SSL)页面。

6. 系统架构和配置:
信息系统体系结构模型应解决敏感性问题 在项目的需求和规范阶段确定的数据 网站项目。这可能需要有单独的web、应用程序和应用程序 数据库服务器或服务器涉及群集、负载平衡或虚拟化。
其他安全问题可以通过t创建 他以这种方式生活 已配置环境。充分和安全的日志记录、监控和记录 需要内置警报设施以允许审计。 前十名 网站安全问题 3.

7. 网络钓鱼:
网络钓鱼,用户被欺骗相信其他实体是或 属于您自己的组织(电子邮件和网站是 最常见的组合),最好通过用户教育解决,但 网站的设计方式、架构以及如何 与用户沟通可以降低风险。

8. 拒绝服务:
而恶意用户可能