PHP 中在文件中安全的保存数据

 PHP进阶  2018-09-08  admin  15183  20497


在PHP开发过程中,经常需要在文件中存储重要的数据,怎么才能保重数据的安全是一个非常重要的问题,通常有两种方式:

一.将文件放在外网不可访问的目录中

二.如果文件放在外网可访问的目录,这时需要我们考虑安全问题

一般把数据存储在php文件中,文件头部添加'<?php exit();?>',告诉服务器后面的代码不执行,减小了数据泄露的风险.

这种方式不管在浏览器允许文件还是下载文件,数据都不会泄露.如果存储为不是php扩展的文件,下载之后数据就会泄露了.

 //写入数据
    $filename = 'token.php';
    $content = '123456789';
    file_put_contents($filename,'<?php exit();?>'.$content);
    
    //读取数据
    $content = trim(substr(file_get_contents($filename), 15));

Snipaste_2018-09-08_07-55-31.png


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

相关推荐


Systemd Web 管理系统:简化服务管理

# Systemd Web Systemd Web 是一个 Systemd 的 Web UI 管理系统,通过直观的界面和易用的操作,让用户能够轻松地管理 Linux 系统和服务。该项目旨在简化 Systemd 的使用,使得无论是专业的系统管理员还是普通的用户,都能够方便地对系统进行操作。 ## [github地址] (https://github.com/topascend/systemd

laravel 自定义写入日志

laravel 自定义写入日志if(!function_exists(&#39;myLog&#39;)){ /** *生成自定义文件日志内容 *@param$data *@paramstring$title *@parambool$isClear *@returnvoid *@Author:cent123.com */ functionmyLog($data,string$tit

systemctl 使用

Systemd是Linux系统工具,用来启动守护进程,已成为大多数发行版的标准配置。而systemctl是Systemd的主命令,用于管理系统。其实我们大部分服务都有使用systemctl管理,比如MySQL、Nginx等等。常见配置如下:[Unit] #单元描述 Description=GFAPP #在什么服务启动之后再执行本程序 After=mysql.service [Serv

php redis 分布式锁

Redis 分布式锁是一种使用 Redis 数据库来实现的同步机制,用于在分布式系统中保证多个进程或线程对共享资源的互斥访问。Redis 分布式锁的基本原理是使用 Redis 的 SETNX 命令来尝试设置一个键,如果这个键不存在,那么获取锁成功,否则获取锁失败。获取锁成功后,需要设置锁的过期时间,以防止锁被永久占用。释放锁时,需要删除这个键。Redis 分布式锁有一些优点和缺点:优点:Redis