作者jameswiki (乌龟(弄论文中..))
看板Database
标题Re: [SQL ] 一些关於SQL Server的问题
时间Sun Mar 16 22:29:40 2008
※ 引述《Adonisy (票投2号)》之铭言:
: ※ 引述《jameswiki》之铭言:
: : 关於第一点,除非必要,不然不要用自动编号,
: : 建议你用二个栏位处理,第一个栏位,用Uni形态,预设值使用
: 这个其实和微软的建议不同.....
: 微软的建议是,pk最好用数字,而 clustered index最好用 identity这种栏位
: 不建议用 byte大的资料型别
建议归建议,早晚要妥协於实务,:P 如果你要写网页资料库,又用数字当PK
要猜出你的PK值并不难..XD, 而且Uni栏位固定36 bytes,以大型资料库来说,
我用36 bytes当PK识别,还是OK的..重点是,当有了这些36位元的PK,FK,
加上栏位都是用X001,X002,X003...即使SQL的sa帐号被人crack进去,下
select命令,一时之间, 你也看不懂资料代表意义, 或许你可以看到人员资料,
或许你可以看到薪级表,或许你可以看到订单表, 但是1000个table中,如果没有眉角
,你大概关连不出每个人每月的薪资表,虽然有志者事竟成,但是还是有些
防敞作用,让资料库管理员 不等於 程式设计者 也不等於老板,可以看到全部资料
再机车一点, 我薪水资料就用2进位写入,除非你用程式捞, 不然你在後台
会关联select也没用!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.154.61
1F:推 PsMonkey:这... 好心机 XD 03/16 22:36
2F:→ jameswiki:就算你SQL injection没有防好,被骇,也要先猜36位元PK键 03/16 22:43
3F:→ jameswiki:二进位加编码写入栏位,改程式,也得找我付费,不然我吃什? 03/16 22:47
4F:推 Adonisy:我根本不会用 sql验证,全改用 windows验证吧 03/16 22:54
5F:→ jameswiki:看每家公司需求,各有利弊..A公司的模式不见得合B公司 03/16 22:57