PHP基础与安全

基础

1. 简介概述

●PHP是脚本语言-是一门弱类型语言,不需要事先编译

●PHP 脚本在服务器上执行,然后向浏览器发送回纯文本的 HTML 结果

●超文本预处理器,服务器端脚本语

2.创建(声明)PHP变量

● 变量以 $ 符号开始,后面跟着变量的名称

● 变量名必须以字母或者下划线字符开始

● 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

● 变量名不能包含空格

● 变量名是区分大小写的(y 和 Y 是两个不同的变量)

3.PHP 数据类型

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)

4.什么是 PHP 文件?

● PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码

● PHP代码在服务器上执行,而结果以纯文本返回浏览器

● PHP 文件的后缀是.php

安全

1.屏蔽PHP错误输出。

在/etc/php.ini(默认配置文件位置),将如下配置值改为Off

bash 复制代码
display_errors=Off

2.屏蔽PHP版本。

默认情况下PHP版本会被显示在返回头里,如:Response Headers X-powered-by: PHP/7.2.0

将php.ini中如下的配置值改为Off

bash 复制代码
expose_php=Off

3.关闭全局变量。

开启方法是在php.ini中修改如下:

bash 复制代码
register_globals=On

建议关闭,参数如下:

bash 复制代码
register_globals=Off

4.文件系统限制

可以通过open_basedir来限制PHP可以访问的系统目录。

设置方法如下:

bash 复制代码
open_basedir=/var/www

5.禁止远程资源访问。

bash 复制代码
allow_url_fopen=Off allow_url_include=Off

6.Suhosin。

Suhosin是一个PHP程序的保护系统。它的设计初衷是为了保护服务器和用户,抵御PHP程序和PHP核心中已知或者未知的缺陷(感觉挺实用的,可以抵御一些小攻击)。Suhosin有两个独立的部分,使用时可以分开使用或者联合使用。

第一部分是一个用于PHP核心的补丁,它能抵御缓冲区溢出或者格式化串的弱点(这个必须的!);

第二部分是一个强大的 PHP扩展(扩展模式挺好的,安装方便...),包含其他所有的保护措施。

相关推荐
BingoGo9 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack9 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
cipher1 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
一次旅行4 天前
网络安全总结
安全·web安全