dbr各字节含义

回到未来…

这篇文章来自2006年11月。我刚开始与Scala一起玩,并试图找出一个ORM,这个ORM最终成为了Lift's Mapper。

用字节保持含义

对于一个好的Web框架,我的标准之一就是建立安全性和访问控制。 当我开车送朋友和亲戚来回感恩节晚餐时,我在想自己:“有目标很高兴,但是您如何实现目标呢?”

关于计算机的坏事之一是它们只是无意义的字节集合。 大多数程序和程序员都希望忘记字节集合的含义,然后输入或输出它们。 当然,大多数类(和相关的数据库表)作为一个集合都是有意义的,数据库中的列和对象上的字段是字符串,双精度或整数。 一旦被转换为这些类型,它们就会失去其语义。 当然,方法是String getSSN(),但是一旦返回了SSN String,它就是可以传递的字符串。

某些语言(例如JavaScript)具有受污染对象的二进制概念。 被污染的对象是无法通过电线发送或以其他方式传达给不受信任的对象的对象。 沾污是二元的事情。 它实际上表示1位语义数据(“这可能是敏感的”位。)

我2006年感恩节的启示是,应在字段的整个生命周期中保留对象上字段的语义,并应在字段生命周期的后期(例如,将其转换为无语义格式(字符串,双精度等),从“以HTML形式呈现”返回的字符串)。

所以,让我深入一点。

安全漏洞有很多不同的方式可以渗透到网络应用程序中。 有一些与信任来自网络的输入有关的漏洞(例如,缓冲区溢出)。有一些与解析输入(例如,SQL或命令注入)有关的漏洞。Java和.Net框架使这些漏洞成为现实。过去的。

但是,开发人员需要记住很多工作,以确保仅在某些情况下才显示社会安全号,信用卡号永远不会完全显示,但是执行该操作的子系统可以使用交易等。这是很多工作。 这意味着开发人员每次遇到敏感数据时,都必须进行大量的“如果-然后-其他”测试,以了解如何处理它们。 这意味着安全审核是对整个代码库的完整检查。 这是昂贵的,但却是必需的,因为“人员”的SSN从数据库映射为字符串,并作为字符串保留在内存中。

我建议每个对象的每个字段在语义上都是有意义的。 这意味着, getSSN()返回SSN类的一个对象,从纳税人类派生从SensitiveIndentifyingInformation类派生...这意味着toHtml()在SSN类回报方法'***-**-****'除非访问SSN的上下文具有权限授予查看更多权限的权限。 这意味着SSN(和封闭的Person)对象知道创建它的上下文。 但是,如果已知该上下文,并且在一个中央位置定义了访问或不更改,部分或全部对象的规则,则安全审核包括信任公开对象的一部分的代码并检查访问控制规则。

这也意味着开发人员可以安全地编写foreach (Person p : peopleList) {out.println(p.getName().asHtml()+" "+p.getSSN().asHtml());}该代码将执行在所有情况下都是正确的,并且开发人员无需考虑访问控制。

这也意味着数据库列的语义含义是在对象关系映射器中定义的,以便当OR映射系统获取要添加到其正在构建的对象中的列时,它将实例化字段对象的正确类型,而不仅仅是实例化字符串,数字等

翻译自: https://www.javacodegeeks.com/2014/10/keeping-the-meaning-with-the-bytes.html

dbr各字节含义

dbr各字节含义_用字节保持含义相关推荐

  1. java 大端字节序_理解字节序 大端字节序和小端字节序

    以下内容参考了 http://www.ruanyifeng.com/blog/2016/11/byte-order.html https://blog.csdn.net/yishengzhiai005 ...

  2. mysql宽字节注入_(宽字节注入) 手注+sqlmap

    进入题目后先简单尝试一下. 很明显的宽字节注入. 宽字节注入就是用一个大于128的十六进制数来吃掉转义符\,gbk编码,字节作为一个字符的编码. 手工注入 1.判断列数: http://chinalo ...

  3. python玫瑰花数量的含义_玫瑰花数量的含义?玫瑰花个数的含义?

    鲜花有万紫千红,唯独玫瑰被公认为爱情的象征.她高贵清新,娇艳不失典雅,不同颜色,乃至不同的数量都有着不同的感情寓意.玫瑰花数量的含义?玫瑰花个数的含义? 时下,比较常见且受欢迎的是11朵.19朵.29 ...

  4. 8位字节数转16位字节数_位与字节比较

    8位字节数转16位字节数 Bit is the most basic storage unit of the computer systems where Byte is a basic storag ...

  5. java 主机字节序 网络字节序_主机字节序 与 网络字节序

    一.字节顺序 是指占用内存多于一个字节类型的数据在内存中的存放顺序. 计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的.所以,计算机的内部处理都是小端字节序. 但是,网络传输.文件储存. ...

  6. java 大端字节序_理解字节序

    1.什么是字节序 字节序,顾名思义就是字节的顺序.更具体的讲,它是多字节数据存储和传输时,字节的顺序. 2.为什么有"字节序"这个东西? 因为物理内存是以字节为单位进行数据存储,也 ...

  7. 机器学习recall含义_机器学习的业务含义

    机器学习recall含义 by Drew Breunig 通过德鲁·布鲁尼格 机器学习的业务含义 (The Business Implications of Machine Learning) 这与它 ...

  8. 台达编码器型号含义_光电编码器型号含义_光电编码器应用实例

    光电编码器型号含义 例型号是:ZKX-6A-50BM7.5T-G05E.厂家:长春光学有限公司 型号含义如下: ZKX产品型号,外径38盲孔轴8:6A是顺序号:50BM是500脉冲,B指的是AB相位差 ...

  9. python玫瑰花数量的含义_玫瑰花数量及含义

    玫瑰花数量及含义 1朵玫瑰代表--我的心中只有你 Only You! 2朵玫瑰代表-- 这世界只有我俩! 3朵玫瑰代表-- 我爱你 I Love You! 4朵玫瑰花语----至死不渝! 5朵玫瑰花语 ...

最新文章

  1. Ubuntu系统安装搜狗输入法详细教程
  2. JS学习系列08 - 内存分配
  3. LDAP常用命令解析
  4. jstl中c:forEach的用法
  5. 百度SEO进云jys系统应用开发框架
  6. 【Spring】Failed to load ApplicationContext Neither GenericXmlContextLoader nor AnnotationConfigCont
  7. 英语总结系列(八):回顾八月展望九月
  8. 全球最大的第一视角视频数据集开源,取自真实生活,还能提升厨艺
  9. Yii 多表关联relations
  10. 【刷算法】对称的二叉树
  11. python中如何输出空格换行,python将文本中的空格替换为换行的方法
  12. 阿里云播放器组件 vue-aliplayer
  13. 二维码加logo demo
  14. python 栅格转矢量_python 矢量数据转栅格数据代码实例
  15. 端游服务器文件转成手游,苦等三年,当年画面最好的端游终于要做成手游了!...
  16. ios 隐藏app的插件_教你如何在iPad和iPhone中隐藏APP应用 划重点了
  17. 大数据环境下,征信,真的那么美好吗?
  18. 一文读尽“数字化咨询”
  19. 如果在做项目时,发现自己在规定的时间内肯定完成不了时,你会怎么办
  20. Android下载网络资源文件

热门文章

  1. 【Java快速入门】--基于SpringBoot的JPA数据库ORM操作
  2. 聊天源码IM聊天室模板 群组聊天app 即时通讯IM设计聊天
  3. OpenAI 推出用于下一代对话式 AI 开发的 ChatGPT 和 Whisper API
  4. 软件外包大面积整合 公司并购应注重能力互补(2005-2006并购年)
  5. CTF-攻防世界-Reverse-(simple-check-100)
  6. 苹果8防水吗_苹果发布真无线耳机Powerbeats Pro,多彩配色,H1芯片加持
  7. 从第一代到第五代,App加固技术详解
  8. 在线支付系列【15】微信支付实战篇之集成查询订单、支付通知API
  9. RS485应用电路图
  10. 【摸鱼吃瓜工作录】ctrl+左键之让你快到飞起的--列编辑