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. mysql基本操作 [http://www.cnblogs.com/ggjucheng/archive/2012/11/03/2752082.html]
  2. linux ldconfig 与 /etc/ld.so.conf 动态函数库配置
  3. Android SnackBar:你值得拥有的信息提示控件
  4. android定位会出现的问题,android – 使用GPS_PROVIDER进行定位时出现问题
  5. CGRect包含交错,边缘,中心的检测
  6. Java 生态圈知识汇总
  7. 粒子群优化算法(1)
  8. CSS3:nth-child()伪类选择器,Table表格奇偶数行定义样式
  9. 成功的背后!(给所有IT人)
  10. 千斤顶装配图怎么画_机械制图——绘制千斤顶装配图教程.ppt
  11. 幻方 java,Java奇数阶幻方实现代码
  12. Matlab计算器设计
  13. 浅述不同版本ios系统有什么特点 ios 1 -ios 12
  14. Android实现可编辑下拉菜单
  15. 学计算机的思维导图,用计算机绘制思维导图的几大优势
  16. 数学推导+纯Python实现机器学习算法22:EM算法
  17. cas607-34-1|5-硝基喹啉|5-Nitroquinoline淡黄色晶体
  18. Qt编写地图综合应用43-点聚合
  19. 各种JDBC连接池配置参数比较
  20. 美术学习2700:Metallic与Speculer流程

热门文章

  1. php利用ob_start()清除输出和选择性输出
  2. 浙江省计量院研制了一套可以对光纤光栅传感器进行实验室和在线计量的装置
  3. 【Excle笔记】计算输出为百分比形式
  4. python实现消消乐游戏_C语言实现消消乐游戏
  5. Java 云原生微服务框架 Quarkus 入门实践
  6. Java Controller层下载指定Excel模板
  7. Microsoft Visual C++ 2015 Redistributable无msi卸载方法
  8. 深信服防火墙web界面卡顿,提示加载页面出错,处理过程。
  9. 人民币的符号的正确表示法?一杠?两杠?
  10. Python中*args和**kwargs的使用方法