小时候很帅的gravatar头像
小时候很帅 2015-06-26 16:10:48

前台网页开发中html div操作后台数据的主键id值是如何设置的?

一个网站需要和后台数据库进行交互,必定少不了主键id,你们是怎么把id存放在网站上面呢?

我说说我个人的看法:

  1. 使用标签进行隐藏
  2. 使用HTML5新增的自定义标签属性

上面两种方式都有不好的地方 对于我这个有代码强迫症的人来说,第一种方式能不使用就不使用,这个隐藏标签元素还得考虑浏览器,如果使用hidden属性,那么在IE上面就有点尴尬了。

使用第2种方法,用js获取dataset包装类的自定义属性,这样倒是很完美,不过这种id在审查元素下面还是会赤裸裸的暴露出来,考虑过给id加密,但是觉得应该还有更好的办法。

你们在最近开发中id是如何存放的呢?大家共享出来吧。

所有回答列表(2)
最代码官方的gravatar头像
最代码官方  LV167 2015年6月26日

你说的这个问题最代码目前也是明文的id设置的,确实会有安全隐患。

我想可以在插入记录的时候,生成一个对外的字符串,该值有如下特征:

1.固定长度

2.数字或字母无规则

3.支持高并发

这个值可以做为对外restful请求中的唯一标识值,比如:/share/1111.htm中的1111

所以推荐最代码目前的这个java版本的仿照twitter的IdWorker的代码:

想找一个java版本的twitter的IdWorker的代码

比如:

http://www.zuidaima.com/share/1550463224040448.htm

http://www.zuidaima.com/share/2398277772594176.htm

这样在html div中可以设置其id

<div id="1550463224040448">

分享1

</div>

<div id="2398277772594176">

分享2

</div>

1.seo种有规则的url的有优势

2.无法通过简单的数字加减就能得到所有的数据、

3.其实这个值完全可以做为数据库的表记录的唯一ID值做存储,也可以order by

4.对于高频生成数据,比如微博系统,id的生成可以放到多台单独的服务器去生成这个值。

hfelix的gravatar头像
hfelix  LV6 2015年6月27日

话说后台的键值id关人家前台的div id啥事啊。。。

oo封装那么多,不就是为了让各自做好自己的事情,不用暴露过多的细节出来么

 

J牛有去研究一下jfinal和nutz这些轻量级的东西么

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友