【发布时间】:2012-04-15 11:27:23
【问题描述】:
我正在开发将使用 PHP 和 MySQL 的 Web 应用程序。应用程序将处理机密数据。我需要让它尽可能安全。
我不希望应用程序用于连接数据库的 MySQL 用户的密码以明文格式(例如 root 帐户)写入 PHP 文件。
因此,我使用存储过程制作了伪 MySQL 角色系统。用户将使用他们的 MySQL 用户名和密码登录到应用程序。他们将仅具有执行 MySQL 存储过程的特权,但没有对存储过程内部使用的表的 SELECT、INSERT、UPDATE、DELETE 特权。存储过程的定义者将是 root 帐户。
我有一个问题。那就是:我不想在会话中以明文格式存储登录表单数据(例如密码)。我无法使用会话将 mysql 连接资源对象从一个页面转移到另一个页面。
我现在正在考虑将整个 Web 应用程序作为一个大的 index.php 文件。这样我就可以在需要时随时使用 MySQL 连接资源。
有没有击球手的方法来做到这一点?大概。在浪费了太多的工作之后,我不想后悔我的选择:)。
提前谢谢你。
【问题讨论】:
-
一个大文件根本不是设计,这是一个错误。会话可以被域中的任何脚本使用,请阅读手册。
-
你认为会话对我有什么帮助?我不想在会话中写入密码归档数据。
-
我看不出在一个文件中拥有或不拥有所有内容与任何事情有什么关系。它当然与存储 MySQL 凭据无关。
-
听着。我不想使用这个 $_SESSION['pass'] = $_POST['pass'] 因为它将以明文格式存储在 HDD 上。我不能使用这个 $connection = mysql_connect($db_host.":".$db_port, $fuser, $fpass); $_SESSION['connection'] = $connection;它只是不工作。我无法使用会话将 $connection 从一个页面转移到另一个页面,它不起作用。
-
@BozoCvetkovski,投票结束...您现在已经多次自相矛盾,不清楚您想要什么。请阅读常见问题解答 (stackoverflow.com/faq),并在您将问题缩小到您遇到的特定问题并能够清楚地表达该问题时再试一次。
标签: php mysql session procedure