作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Debian 上的 Apache2 下将 PHP 作为模块运行。
当请求到达 Apache 时,我对服务器内存中已有的 secret 数据执行一些操作。此类数据已被自动覆盖和删除。
另一方面,这就是重点,因为此类 secret 数据是在 PHP 脚本下操作的,并且肯定会复制到关联的内存空间中,我关心的是要确保在 HTTP 响应结束后(以及关联的 PHP/Apache2 进程终止?),绝对没有对内存中持久保存的 secret 数据的引用和值。
可能,一种有效的方法是经常清理/覆盖(作为 cronjob 或在 PHP 脚本结束后)整个非事件内存空间。问题:
1) 是否有 unix 命令或低级库来清理/覆盖所有非事件内存空间?
2) 如果没有 PHP 进程而只涉及 Apache2 进程,并且 Apache2 进程不一定终止,是否有任何命令或库来清理事件进程的“非事件内存”?
3) PHP 中是否有有效的解决方案来清理/覆盖脚本关闭前使用的内存?
谢谢
最佳答案
我认为安全站点上的这个答案与内存存储有些相关:https://security.stackexchange.com/questions/29019/are-passwords-stored-in-memory-safe
在我看来,不值得为此付出努力。如果用户可以访问脚本使用的内存,那么用户可能可以访问脚本本身,因此可以插入他们想要规避您采取的任何措施的任何代码。这也比从内存中抓取数据要容易得多。假设您管理操作系统,尽您所能锁定操作系统。
关于php - 如何删除不活动的进程内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28258162/
我是一名优秀的程序员,十分优秀!