黄金骑士盖伦重做:sql约束问题

来源:百度文库 编辑:高考问答 时间:2024/05/04 16:37:41
如何建立密码位数的约束
如果是限制为6-20位呢?

最根本的方法还是创建约束,即便非法提交,在数据库里也是没法保存的。
例如:
create table temp
(
password varchar(20) constraint ck_temp_len check(len(password)>=6 )
)

约束里边限制了password字段必须大于5位,而字段最大长度是20位,所以长度不再范围内的数据是不能插入数据库的。

如果你想将来扩展密码位数,那不妨创建表的时候把字段设置长点,在约束里限制就行了。

create table temp
(
password varchar(128) constraint ck_temp_len check(len(password) between 6 and 20 )
)

通过表单限制不可取,因为表单限制可以在浏览器端更改。
不用什么约束,定义表的时候可以限制字符串的长度
...
pwd varchar(16),/*密码最长16位
...

最简单的办法就是在页面输入密码的那个框上加个属性。如:

<input name="textfield" type="password" maxlength="5">

maxlength="5" 表示最多5位

----------------------
表单限制未必不可取!
如果我在后台处理页面 增加上页来源判断不就能防止异站提交了?