Access control management

正式开始写技术性blog, 主要目的是为了记下工作中的一些心得,还有便于以后的总结和改进。第一次写技术方面的东西,迟迟不能下"指",万事开头难啊...

ACM (access control management) : 控制多个application的访问权限。

这篇文章介绍的主要内容是: 为了避免application直接访问数据库里面的user data, ACM提供一个url (http://xxx.php)作为一个访问database的接口。这样我们就对application隐藏了数据库的信息以及内容。具体方法如下:

xxx.php 从url里面得到用户名和密码(http://xxx.php?username=xxx&password=xxx),然后访问数据库进行核对,如果正确echo一个'OK', 否则就'Err'。在开头写上 header("Content-Type: text/plain"); 这样文件就成了文本格式(/n用起来比<br>舒服多了)。

在Application里面使用:

$url = ' http://xxx.php? ' ;

$ret = file ( $url . " username=$username&password=$password " );


if  ( trim ( $ret [ 0 ]) == ' OK ' ) {
 }

esle 
if ( trim (ret[ 0 ] == ' Err ' ){
 }

在这里file() function会返回这个页面的output到一个array, 每一行是一个element。使用trim()是因为每一个element后面都跟了一个new line charactor, 我们要把它去掉。在应用过程中我们只要让xxx.php多输出几个变量(例如privilege)就可以控制用户的权限了。

:可以考虑让xxx.php输出一个xml格式的文本文件,这样便于applications 从中读出所需的信息。

再注:其实这也是一种实现在不同页面之间传输,运算变量的非常简便的方法。

疑问:这个url可能会遭到恶意query,或者是针对某个已知的username进行穷举来得到password.

最后感谢我的supervisor向我介绍了这种方法。(姓名保密,嘎嘎)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值