PHP中的性能与安全性(firebug s/w可以绕过值)

dev*_*234 0 php security firebug zend-framework yii

这是突然想到的东西......所以想知道处理和了解主要PHP框架的安全能力的最佳实践是什么.

假设在开发的Web应用程序中有一组用户..(在用户模块中)..每个注册用户将根据其权限和访问级别执行基于特权的任务...

现在,因为我们有许多免费的前端调试程序,如firebug等...我想知道使用firebug如果用户可以获得让我们说超级管理员的ID .....(假设,这作为用户表的user_id为超级管理员用户)这可能是通过引用隐藏的字段值或者从系统的某处......

现在,他(当前用户)可能会使用fire bug将用户ID更改为1(假设'1'是超级用户)并提交某个表单.

ex:一个包含允许用户在系统中执行某些操作的权限的表单..让我说它像'创建帖子'(复选框或下拉列表)然后另一个下拉列表选择用户他是愿意分配(只有系统的一些用户可以看到这个用户分配..因为他是中等特权..所以超级用途不存在)但是现在让我们说他知道那些超级级别的用户ID和他正在改变某个用户的选定值...让我说他选择了一个id = 101的用户...在下拉值中它就像这样...普通用户...现在借助于firebug'101 '被更改为超级用户的id之一.....'1'或'2'或'3'.....所以这允许覆盖,因为我尝试做类似的更改并且感到不安为什么这是可能的...

那么我们如何用最佳实践处理这种情况是我的困境......

我看到唯一的办法是处理这个......

在保存天气之前检查我们在表单提交时收到的数据与我们从加载时获得的数据相同,然后让它们保存或者抛出错误....为此,一些性能将涉及到我不确定是这是一个实际而且最好的事情......

至少我想知道任何PHP框架都能保护这种东西吗?我宁愿说攻击..

请让我知道这一点来自PHP极客...不确定天气这是否可能发生在其他编程语言中...因为我是PHP开发人员我只是想知道与PHP术语有关...

仅供参考,我正在使用Yii框架进行开发工作........并且有时也会使用codeignitor框架.

inv*_*sal 5

现在,他(当前用户)可能会使用fire bug将用户ID更改为1(假设'1'是超级用户)并提交某个表单.

依赖客户的数据是完全错误的.基本上,您将登录数据存储在SESSION中(例如user_id),而不是HTML格式.但是,通过在SESSION中存储所有内容并不能阻止不良用户获得未经授权的访问(会话劫持).这只会让它变得更加困难.

至少我想知道任何PHP框架都能保护这种东西吗?我宁愿说攻击..

PHP Framework不保护您免受攻击,保护您的软件是您的职责.但是,加强应用程序安全性并不是很困难.以下是常见攻击图.

  • 跨站点脚本,37%
  • SQL注入,16%
  • 路径披露,5%
  • 拒绝服务,5%
  • 代码执行,4%
  • 记忆腐败,4%
  • 跨站请求伪造,4%
  • 和更多

预防

  • SQL注入:不要手动连接SQL查询.使用PDO和准备声明.
  • 跨站点脚本:htmlspecialchars用于显示我们的任何用户输入.
  • 代码执行:不要使用eval.