百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

PHP站点要这样配置服务器才安全 php服务器环境搭建及配置

yuyutoo 2024-10-15 16:59 11 浏览 0 评论

主机(站点)配置

一个站点的2个核心信息为:

主机名(服务器名/站点名): ServerName 服务器名

站点位置(站点目录路径): DocumentRoot “实际物理路径”

默认情况下,apache安装成功,就默认配置好了一个“站点”,该站点的实际位置在:

apache安装位置/htdocs/

默认主机名是安装时设置的,比如www.abc.com,当然,也可以使用localhost

单站点配置项

端口监听:

在apache的主配置文件httpd.conf中:

也可以写为:

实际应用中,我们几乎都是80。

设置主机(站点)的名字:服务器名,站点名

ServerName 服务器名

举例:

也可以设置为:

设置主机(站点)的物理路径:

形式:

DocumentRoot “实际物理路径”

重要观念:

站点就是“文件夹”——我让它当站点,它就是站点。

比如:

原始的站点在这里:

修改为:

在浏览“localhost”,发现被进制访问(Forbidden),然后添加访问权限,如下:

就可以了。

目录访问权限

一个站点,就是一个“目录”。

每个目录,都应该给其设定“访问权限”,语法如下:

<Directory “要设置权限的目录路径”>

#设置当一个请求中没有给定请求的文件名又没有默认网页(首页)的时候,显示文件列表

Options Indexes

#设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许后拒绝)

Order Deny,Allow

#Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!

Deny from 拒绝名单 比如:deny from 192.168.3.8 172.180.4

Allow from 允许名单 比如:Allow from all

#设置该文件夹下的“默认网页”(首页),可以设置多个,用于请求中不带文件名的时候自动使用该文件作为“返回”页面。

DirectoryIndex index.php index.html main.php default.php abc.php 123.html

</Directory>

目录访问权限中的“分布式权限”:

对于某个目录的访问权限,我们在apache中使用Directory来设定,但可能不够方便:

1,apache配置修改,必须重启apache

2,某个站点中的“下级目录”访问权限,不方便单独设置,

这种,可以称为“集中式权限”;

分布式权限,就是:针对某个网站的任何一个下级目录,都可以单独去设置其访问权限,并且可以不重启apache就生效。

做法:分2步:

第1步:

在该站点对应目录权限的Directorty配置中添加一条:

第2步:

在该目录下的任何子目录中,创建一个特殊的文件( .htaccess ),在该文件中写所需要的“权限内容”(几乎跟Directory中的写法一样):

举例:

www.php39.com/day1/中,初始可以浏览结果如下:

然后,在该文件夹中添加一个文件: .htaccess 其内容为:

(该ip不知是谁,反正不是我!)

在该day1文件夹中,就多了一个文件:

然后,重新访问刚才路径(刷新):

多站点的配置

分3步:

第1步:

在apache的主配置文件httpd.conf中,“打开”多站点虚拟主机配置文件项(关键词:vhosts):

初始:

修改为:

第2步:

在httpd-vhosts.conf文件中,设定希望提供“多站点”服务的IP地址和端口号,通常默认就是:*:80,其中“*”代表所有IP,默认其实apache安装好之后就设置好了,无需手动设置(关键字NameVirtualHost):

第3步:

然后就一个站点一个站点加上!形式如下:

<virtualhost *:80>

#这里设置站点1的各项信息

</virtualhost>

<virtualhost *:80>

#这里设置站点2的各项信息

</virtualhost>

...........

注意:

1,先把httpd-vhosts.conf文件中的2个初始安装生成的站点,删除!!!

2,每个站点的设置项,主要就3个:

ServerName,

DocumentRoot,

<Directory>...</Directory>

3,在多站点配置中,第一个站点被称为“默认站点”,如果某个请求的域名无法跟任何一个站点“匹配”,就会当做请求的是默认站点去处理(应答)

4,一旦实现了多站点配置,则最初安装成功时的“默认站点”就失效了,我们可以将“localhost”当做一个普通站点重新设置就可以了,也可以将其放在第一个位置又重新作为默认站点。

举例:

站点别名的设置:

目录别名(虚拟目录)的设置:

某个站点www.abc.com所对应文件夹下有一个目录为d1,则可以这样访问该目录:

www.abc.com/d1

这个d1就称为“真实目录”;

虚拟目录就是:

该站点下不存在某目录名,但却可以使用同样的语法形式,去访问,比如:

www.abc.com/d2 //假设该站点目录下根本就没有d2这个目录,此时却可以访问

实现这种技术,就是所谓“目录别名”(虚拟目录)的设置,如下:

在一个站点中,做如下2步:

第1步:

设置目录别名的名字和其对应的“实际真实目录(文件夹位置)”:

Alias /目录别名的名字 “实际真实目录(文件夹)的位置”

第2步:

设置该真实目录的访问权限(否则是禁止访问的):

<Directory “真实目录路径”>

。。。。。。跟其他目录权限设置一样

</Directory>

查看更详细配置过程请关注公众号“爱搞机个人版” 建议+关注,不迷路!

相关推荐

网络规划建设原来也可以这么简单!

废话少说,直接上干货。天气炎热,请各位看官老爷静心阅读。整体思路下图是关于网络建设的所有相关领域,接下来我为大家逐一讲解。网络分层...

网络规划设计师笔记-第 1 章 计算机网络原理

计算机网络原理1.1计算机网络概论(P1-10)...

别输在远见上,网工这样做职业规划,比啥都强

01职业中的规划,人生中的buff“职业规划“这个词,其实对很多年轻人,包括曾经年轻的我来说,都不屑一提。...

网络规划设计师学习中(个人自学笔记分享1),有一起学习的吗?

网络规划设计师,上午考试内容学习:第一章:计算机网络概述(上部分):如果你也在一起学习,那么我们来一起学习吧!坚持1年,争取明年一次性通过!...

在微服务中使用 ASP.NET Core 实现事件溯源和 CQRS

概述:事件溯源和命令查询责任分离(CQRS)已成为解决微服务设计的复杂性的强大架构模式。基本CQRS表示形式在本文中,我们将探讨ASP.NETCore如何使你能够将事件溯源和CQRS...

一个基于ASP.NET Core完全开源的CMS 解决方案

...

用 Nginx 部署 ASP.NET Core 应用程序

用Nginx部署ASP.NETCore应用程序步骤如下:在Linux中安装.NETCore运行时和Nginx:...

Asp.net Core启动流程讲解(一)(asp.net core 入门)

asp.netcore默认项目包括项目根目录级的Startup.cs、Program.cs、appsettings.json(appsettings.Development.json)launch...

十天学会ASP之第五天(十天学会asp教程)

学习目的:学会数据库的基本操作1(写入记录)数据库的基本操作无非是:查询记录,写入记录,删除记录,修改记录。今天我们先学习写入记录。先建立一个表单:<formname="form1"met...

ASP.NET Core 的 WebApplication 类

ASP.NETCore提供了3个主机类(Host)。这些类用于配置应用、管理生命周期和启动Web服务。...

ASP.NET Core中的键控依赖注入(.net依赖注入原理)

大家好,我是深山踏红叶,今天我们来聊一聊ASP.NETCore中的FromKeyedServices,它是在.Net8中引入的。这一特性允许通过键(如字符串或枚举)来注册和检索依赖注入(D...

Asp.net常用方法及request和response-a

asp.net教程asp.net常用方法:1、Request.UrlReferrer请求的来源,可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链,可以伪造(比如迅雷)。(使用全局一般处理...

ASP.NET Core EFCore 属性配置与DbContext 详解

...

asp.net常考面试题(aspnet题库)

asp.net常考面试题一,列举ASP.Net页面之间传递值的几种方式?1,使用QueryString,如:......?id=1;response.Redirect()......2,使用Sessi...

在Windows系统搭建.NET Core环境并创建运行ASP.NET网站

微软于6月27日在红帽DevNation峰会上正式发布了.NETCore1.0、ASP.NET1.0和EntityFrameworkCore1.0,其将全部支持Windows、OSX和...

取消回复欢迎 发表评论: