php 愿望清单_最终PHP安全清单

2024-01-19 20:50
文章标签 安全 php 清单 最终 愿望

本文主要是介绍php 愿望清单_最终PHP安全清单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

php 愿望清单

该死的,但是安全性很难。 所需做的事情并不总是很明显,而良好安全性的收益充其量是模糊的。 当它不在我们的优先列表中时,谁会感到惊讶?

该安全清单旨在为开发人员提供可以遵循PHP安全最佳实践列表,以帮助提高其代码的安全性。

这是一些PHP安全检查表项目的一部分( 此处 阅读完整的检查表

筛选和验证所有数据

无论数据来自何处,无论是配置文件,服务器环境,GET和POST还是其他任何地方,都不信任它。 过滤并验证! 通过使用可用的库之一(例如zend-inputfilter)来执行此操作。

  • Zend框架中的验证
  • 在Symfony中进行验证
  • Laravel中的验证

使用参数化查询

为避免SQL注入攻击,请勿将SQL字符串与外部数据连接或插入。 使用参数化查询代替预备语句。 这些可以与供应商特定的库一起使用,也可以与PDO一起使用。

学到更多:

  • PDO中的准备好的语句和存储过程
  • Mysqli预备语句
  • PostgreSQL pg_query_params函数

设置open_basedir

open_basedir指令限制了PHP可以从open_basedir目录及更低版本访问文件系统的文件。 不能访问该目录之外的文件或目录。 这样,如果恶意用户尝试访问敏感文件(例如/etc/passwd ,则访问将被拒绝。

  • open_basedir配置指令
  • PHP文件系统安全
  • DigitalOcean隔离的执行环境

检查您的SSL / TLS配置

通过定期扫描服务器,确保服务器的SSL / TLS配置是最新的且配置正确,并且未使用弱密码,TLS的过时版本,没有弱密钥的有效安全证书等。

  • SSL实验室
  • Mozilla的天文台

使用TLS或公钥连接到远程服务

当访问任何数据库,服务器或远程服务(例如Redis,Beanstalkd或Memcached)时,请始终使用TLS或公钥进行访问。 这样做可以确保仅允许经过身份验证的访问,并且对请求和响应进行加密,并且不会明文传输数据。

  • 公钥基础结构和SSL / TLS加密
  • 什么是SSL,TLS和HTTPS?
  • SSL与TLS —有何区别?

不要在标题中发送敏感信息

默认情况下,PHP将在HTTP标头中设置其版本号。 一些框架可能也做同样的事情。

  • 隐藏HTTP标头中PHP和Apache信息

记录所有事情

无论您是登录失败的登录尝试,密码重置还是调试信息,都请确保您正在登录,并使用易于使用且成熟的软件包(例如Monolog)。

  • 独白
  • PHP日志记录基础

制定内容安全政策

无论您是一个页面,静态网站,大型静态网站还是复杂的基于Web的应用程序,都应实施内容安全策略(CSP)。 它有助于减轻一系列常见的攻击媒介,例如XSS。

  • 通过MDN Web文档的内容安全策略(CSP)
  • 通过Google Chrome扩展程序文档的内容安全政策(CSP)
  • CSP评估员
  • 内容安全策略(CSP)验证程序
  • 使用Sqreen轻松添加内容安全策略
想要更多? 在此处 查看完整清单

最初在 www.sqreen.io上 发布

翻译自: https://hackernoon.com/the-ultimate-php-security-checklist-eec9895f2fa3

php 愿望清单

这篇关于php 愿望清单_最终PHP安全清单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/623660

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

9 个 GraphQL 安全最佳实践

GraphQL 已被最大的平台采用 - Facebook、Twitter、Github、Pinterest、Walmart - 这些大公司不能在安全性上妥协。但是,尽管 GraphQL 可以成为您的 API 的非常安全的选项,但它并不是开箱即用的。事实恰恰相反:即使是最新手的黑客,所有大门都是敞开的。此外,GraphQL 有自己的一套注意事项,因此如果您来自 REST,您可能会错过一些重要步骤!

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库

使用JWT进行安全通信

在现代Web应用中,安全通信是至关重要的。JSON Web Token(JWT)是一种流行的安全通信方式,它允许用户和服务器之间安全地传输信息。JWT是一种紧凑的、URL安全的表示方法,用于在两方之间传输信息。本文将详细介绍JWT的工作原理,并提供代码示例帮助新人理解和实现JWT。 什么是JWT? JWT是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSO

PHP的基本语法有哪些?

PHP的基本语法包括以下几个方面: PHP标记:PHP脚本以<?php开始,以?>结束。这是PHP文件的默认文件扩展名是.php。 变量和常量:变量以$符号开头,其后是变量的名称。常量使用define()函数定义,例如define("常量名", 常量值);。 数据类型:PHP支持多种数据类型,如整型、浮点型、字符串型等。 注释:PHP支持单行注释(用//表示)和多行注释(用/* */表示

php json_encode 大括号中括号

当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串。 而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串。 当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组。 当字符串为{"1":1,"2":1} 这种模式时,json_

PHP序列化用到的构造:__sleep() __wakeup()

串行化serialize可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 你在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这样的目的,PHP会自动寻找__sleep和__wakeup方法.   当一个对象被串行化,PHP会

PHP生成csv格式Excel,秒级别实现excel导出功能

防止报超内存,兼容中文,兼容科学技术法。 爽。。。。很爽。。。。 /*** 告诉浏览器下载csv文件* @param string $filename*/public static function downloadCsv($data, $filename, $encoding = 'utf-8'){header("Content-type: text/csv");header("Conten

PHP 读取或生成大的Excel

场景,在很多情况下,需要读取Excel文件。 常用的有PHPExcel包或者使用 maatwebsite/excel 包 但是使用这个包读取或生成excel,如果excel文件过大,很容易出现超内存情况。 解决方法: 上传:要求上传者使用.csv 文件上传。然后使用php自带的 fgetcsv()函数来读取文件。http://php.net/manual/zh/function.fgetc

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr