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扩展(扩展模式挺好的,安装方便...),包含其他所有的保护措施。

相关推荐
CT随6 分钟前
Redis内存碎片详解
java·开发语言
anlog15 分钟前
C#在自定义事件里传递数据
开发语言·c#·自定义事件
奶香臭豆腐28 分钟前
C++ —— 模板类具体化
开发语言·c++·学习
晚夜微雨问海棠呀35 分钟前
长沙景区数据分析项目实现
开发语言·python·信息可视化
graceyun36 分钟前
C语言初阶习题【9】数9的个数
c语言·开发语言
EasyDSS1 小时前
国标GB28181-2022平台EasyGBS:安防监控中P2P的穿透方法
网络协议·php·音视频·p2p
鸭梨山大。1 小时前
Jenkins 任意文件读取(CVE-2024-23897)修复及复现
安全·中间件·jenkins
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
Swift社区1 小时前
Excel 列名称转换问题 Swift 解答
开发语言·excel·swift
一道微光1 小时前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos