Egg*_*olk 3 java security google-app-engine bigtable primary-key
我使用数据存储区中实体的Key值作为URL中用于提取记录的唯一标识符:
http://mysite.appspot.com/myaction/1x7s3fgdlbnRlcklkcicLAbcXc2VyQWNjb3VudCIFYW9uZ
Run Code Online (Sandbox Code Playgroud)
这不是一个非常有吸引力的解决方案,它也不是SEO友好的,但它是我发现在App Engine/Java中唯一识别实体的最简单方法.
不过,我主要担心的是,是否存在与显示实体的唯一Key值相关的安全问题?
编码密钥包含您的应用程序ID,名称空间(如果有),实体类型名称以及密钥名称或ID.这里有两个可能的问题:信息的披露(可能没有问题),以及您接受编码密钥的事实.如果您没有检查传入的密钥指定的实体是否属于正确的类型,并且用户应该有权访问它,那么他们可以传入自己的密钥以使您披露不应该泄露的信息.
但是,几乎普遍地,您已经知道要获取的实体的类型名称,因此更好的想法是仅使用密钥的密钥名称或ID,并根据需要构造完整密钥.这也使得更清晰的URL.
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |