1. .htaccess의 기본 기능
.htaccess는 Apache 서버 구성과 관련된 지침을 저장하는 일반 텍스트 파일입니다.
.htaccess의 주요 기능은 URL 재작성, 사용자 정의 오류 페이지, MIME 유형 구성 및 액세스 제어 등입니다. 주로 의사 정적 애플리케이션, 이미지 핫링크 보호, 사용자 정의 404 오류 페이지, 특정 IP/IP 세그먼트 차단/허용, 디렉토리 검색 및 홈페이지, 지정된 파일 형식에 대한 액세스 금지, 파일 비밀번호 보호 등에 반영됩니다.
.htaccess의 사용 범위는 주로 현재 디렉터리에 대한 것입니다.
2. .htaccess 구성 활성화
.htaccess를 활성화하려면 httpd.conf를 수정하고 AllowOverride를 활성화한 다음 AllowOverride를 사용하여 특정 명령의 사용을 제한해야 합니다.
httpd.conf 파일을 텍스트 편집기로 연 후
을 검색하여 다음과 같이 코드를 복사하세요.
<Directory /> Options FollowSymLinks AllowOverride None </Directory> 改为: <Directory /> Options FollowSymLinks AllowOverride All </Directory>
파일 이름을 사용해야 하는 경우 .htaccess 이외의 파일은 AccessFileName 명령을 사용하여 변경할 수 있습니다. 예를 들어 .config를 사용해야 하는 경우 서버 구성 파일에서 다음과 같이 구성할 수 있습니다.
다음과 같이 코드를 복사합니다.
AccessFileName .config
3. .htaccess 액세스 제어
1. 액세스 제어의 기본: 명령 명령
사용자가 일부 주요 디렉터리에 액세스하지 못하도록 제한하기 위해 일반적으로 .htaccess 파일이 추가됩니다.
다음과 같이 코드를 복사하세요.
<Files ~ "^.*\.([Ll][Oo][Gg])|([eE][xX][eE])"> Order allow,deny Deny from all </Files>
설명:
(1) Files 뒤의 물결선은 "일반"을 나타냅니다. 표현"이 활성화됩니다. 간단한 쓰기 방법은 (2) Order 명령: Allow, Deny 매개변수를 통해 Apache는 먼저 Allow 명령을 찾아서 적용한 다음 Deny 명령을 적용하여 모든 액세스를 차단할 수도 있습니다. 4. URL 재작성 다음은 URL 재작성 규칙의 간단한 예입니다. 다음과 같이 코드를 복사하세요. 5. 구성 오류 페이지 기본 구문은 다음과 같습니다. 다음과 같이 코드를 복사하세요. 6. 일반적인 htaccess 명령 및 구성 팁 코드는 다음과 같습니다: Options -Indexes 다음과 같이 코드를 복사하세요. deny from 000.000.000.000 다음과 같이 코드 코드를 복사하세요. allow from 000.000.000.000 다음과 같이 코드를 복사합니다. 모두 거부 다음과 같이 코드를 복사하세요. DirectoryIndex index.php index.php3 messagebrd.pl index.html index.htm 复制代码代码如下: 复制代码代码如下: /oldfile.html /old/oldfile.html 复制代码代码如下: http: ///olddirecotry/oldfiles/images/image.gif http: ///newdirectory/oldfiles/images/image.gif 七、安全配置 复制代码代码如下: 复制代码代码如下: 4.禁止脚本执行,加强你的目录安全 复制代码代码如下: 复制代码代码如下: 复制代码代码如下: 复制代码代码如下: 复制代码代码如下: 复制代码代码如下: 复制代码代码如下: 复制代码代码如下:
# Will RewriteEngine 모드가 켜져 있습니다
RewriteEngine On
# Rewrite 시스템 규칙을 수정하지 마세요
RewriteRule ^p/([0-9]+).html$ index.php?post_id=$1
RewriteRule ^ u- (username|uid)-(.+).html$ space.php?$1=$2
그 중 RewriteEngine은 URL 재작성을 켜는 것을 의미하고 RewriteRule은 재작성 규칙입니다. # custom error documents
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php
1. 디렉토리 목록 표시 비활성화
때로는 어떤 이유로 디렉토리에 인덱스 파일이 없는 경우가 있습니다. 브라우저 주소 표시줄 디렉토리 경로를 지정하면 디렉토리에 있는 모든 파일이 표시되므로 웹 사이트에 보안 위험이 따릅니다.
이를 방지하려면(새 인덱스 파일을 여러 개 만들지 않고도) .htaccess 문서에 다음 명령을 입력하여
디렉터리 목록이 표시되지 않도록 할 수 있습니다.
2. 특정 IP 주소를 차단/허용
경우에 따라 특정 IP만 허용하려는 경우도 있습니다. 사용자는 다음을 수행할 수 있습니다. 귀하의 웹 사이트에 액세스하거나(예: 특정 ISP를 사용하는 사용자만 디렉토리에 들어갈 수 있도록 허용) 또는 특정 IP 주소를 차단하려고 할 수도 있습니다(예: 정보 페이지에서 낮은 수준의 사용자를 격리하기 위해). 물론 이 방법은 차단하려는 IP 주소를 알고 있는 경우에만 작동합니다. 그러나 요즘 온라인 사용자 대부분은 동적 IP 주소를 사용하므로 이는 사용을 제한하는 일반적인 방법은 아닙니다.
다음 명령을 사용하여 IP 주소를 차단할 수 있습니다.
000.000. 여기서 000.000은 차단된 IP 주소의 경우, 그 중 몇 개만 지정하면 전체 네트워크 세그먼트의 주소를 차단할 수 있습니다. 210.10.56.을 입력하면 210.10.56.0부터 210.10.56.255까지의 모든 IP 주소가 차단됩니다.
다음 명령을 사용하여 IP 주소가 웹 사이트에 액세스하도록 허용할 수 있습니다.
허용 IP 주소는 000.000.000.000 입니다. IP 주소를 금지하는 것과 마찬가지로 전체 네트워크 세그먼트를 허용할 수 있습니다.
모든 사람이 디렉토리에 액세스하는 것을 방지하려면 다음을 사용할 수 있습니다.
그러나 이것은 이 디렉토리에 있는 스크립트의 문서 사용에 영향을 주지 않습니다.
3. 인덱스 파일 교체
index.htm 또는 index.html을 항상 디렉토리의 인덱스 파일로 사용하고 싶지 않을 수도 있습니다. 예를 들어, 사이트에서 PHP 파일을 사용하는 경우 다음을 사용할 수 있습니다.
index.php는 이 디렉토리의 색인 문서 역할을 합니다. 물론 "인덱스" 문서로 제한할 필요는 없습니다. 원하는 경우 .htaccess를 사용하여 설정할 수도 있습니다.
foofoo.balh를 색인 문서로 사용하세요!
이러한 상호 대체 색인 파일은 목록으로 정렬될 수 있으며, 서버는 실제 디렉터리에 어떤 문서가 존재하는지 확인하기 위해 왼쪽에서 오른쪽으로 검색합니다. 아무 것도 발견되지 않으면 디렉터리 목록이 표시됩니다(디렉터리 파일 목록 표시를 끄지 않은 경우).
4.重定向(rewrite)
.htaccess
最有用的功能之一就是将请求重定向到同站内或站外的不同文档。这在你改变了一个文件名称,但仍然想让用户用旧地址访问到它时,变的极为有用。另一个应用(我发现的很有用的)是重定向到一个长URL,例如在我的时事通讯中,我可以使用一个很简短的URL来指向我的会员链接。以下是一个重定向文件的例子:Redirect /location/from/root/file.ext http: ///new/file/location.xyz
上述例子中,访问在root目录下的名为oldfile.html可以键入:
访问一个旧次级目录中的文件可以键入:
你也可以使用.htaccess重定向整个网站的目录。假如你的网站上有一个名为olddirectory的目录,并且你已经在一个新网站http: ///newdirectory/上建立了与上相同的文档,你可以将旧目录下所有的文件做一次重定向而不必一一声明:Redirect /olddirectory http: ///newdirectory
这样,任何指向到站点中/olddirectory目录的请求都将被重新指向新的站点,包括附加的额外URL信息。例如有人键入:
请求将被重定向到:
如果正确使用,此功能将极其强大。
下面的htaccess代码能够提高你的web服务器的安全水平。图片链接盗用保护非常有用,它能防止其他人偷盗使用你的服务器上的图片资源。
1. 通过.htaccess放盗链
痛恨那些偷盗链接你的web服务器上的图片资源而耗尽了你的带宽的行为吗?试试这个,你可以防止这种事情的发生。RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?php.cn/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
2. 防黑客
如果你想提高网站的安全等级,你可以去掉下面的几行代码,这样可以防止一些常见恶意URL匹配的黑客攻击技术。RewriteEngine On
# proc/self/environ? 没门!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
# 阻止脚本企图通过URL修改mosConfig值
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# 阻止脚本通过URL传递的base64_encode垃圾信息
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# 阻止在URL含有<script>标记的脚本
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# 阻止企图通过URL设置PHP的GLOBALS变量的脚本
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# 阻止企图通过URL设置PHP的_REQUEST变量的脚本
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
# 把所有被阻止的请求转向到403禁止提示页面!
RewriteRule ^(.*)$ index.php [F,L]
3. 阻止访问你的 .htaccess 文件或者指定类型的文件
下面的代码可以阻止别人访问你的.htaccess文件。同样,你也可以设定阻止多种文件类型。# 保护你的 htaccess 文件
<Files .htaccess>
order allow,deny
deny from all
</Files>
# 阻止查看指定的文件
<Files secretfile.jpg>
order allow,deny
deny from all
</Files>
# 多种文件类型
<FilesMatch “.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$”>
Order Allow,Deny
Deny from all
</FilesMatch>[/code]
# 禁止某些目录里的脚本执行权限
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
八、一些常用的设置
1.时区设置
有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。
1.SetEnv TZ Australia/Melbourne
2. seo/seo.html" target="_blank">搜索引擎友好的301永久转向方法
为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。Redirect 301 http: //www.php.cn/article/index http: //www.php.cn/article/
3. 屏蔽下载对话框
通常,当你下载东西的时候,你会看到一个对话框询问你是保持这个文件还是直接打开它。如果你不想看到这个东西,你可以把下面的一段代码放到你的.htaccess文件里。AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
4. 省去www前缀
SEO的一个原则是,确保你的网站只有一个URL。因此,你需要把所有的通过www的访问转向的非www,或者反这来。RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.php.cn [NC]
RewriteRule ^(.*)$ http: //www.php.cn/$1 [L,R=301]
5. 个性化Error页面
对每个错误代码定制自己个性化的错误页面。ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
6. 压缩文件
通过压缩你的文件体积来优化网站的访问速度。# 压缩 text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
.AddOutputFilterByType DEFLATE application/x-javascript
7. 缓存文件
缓存文件是另外一个提高你的网站访问速度的好方法。<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
Header set Cache-Control “max-age=2592000″
</FilesMatch>
8. 对某些文件类型禁止使用缓存
而另一方面,你也可以定制对某些文件类型禁止使用缓存。# 显式的规定对脚本和其它动态文件禁止使用缓存
<FilesMatch “.(pl|php|cgi|spl|scgi|fcgi)$”>
Header unset Cache-Control
</FilesMatch>

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.

세션 관련 XSS 공격으로부터 응용 프로그램을 보호하려면 다음 조치가 필요합니다. 1. 세션 쿠키를 보호하기 위해 Httponly 및 Secure 플래그를 설정하십시오. 2. 모든 사용자 입력에 대한 내보내기 코드. 3. 스크립트 소스를 제한하기 위해 컨텐츠 보안 정책 (CSP)을 구현하십시오. 이러한 정책을 통해 세션 관련 XSS 공격을 효과적으로 보호 할 수 있으며 사용자 데이터가 보장 될 수 있습니다.

PHP 세션 성능을 최적화하는 방법 : 1. 지연 세션 시작, 2. 데이터베이스를 사용하여 세션을 저장, 3. 세션 데이터 압축, 4. 세션 수명주기 관리 및 5. 세션 공유 구현. 이러한 전략은 높은 동시성 환경에서 응용의 효율성을 크게 향상시킬 수 있습니다.

THESESSION.GC_MAXLIFETIMESETTINGINSTTINGTINGSTINGTERMINESTERMINESTERSTINGSESSIONDATA, SETINSECONDS.1) IT'SCONFIGUDEDINPHP.INIORVIAINI_SET ()

PHP에서는 Session_Name () 함수를 사용하여 세션 이름을 구성 할 수 있습니다. 특정 단계는 다음과 같습니다. 1. Session_Name () 함수를 사용하여 Session_Name ( "my_session")과 같은 세션 이름을 설정하십시오. 2. 세션 이름을 설정 한 후 세션을 시작하여 세션을 시작하십시오. 세션 이름을 구성하면 여러 응용 프로그램 간의 세션 데이터 충돌을 피하고 보안을 향상시킬 수 있지만 세션 이름의 독창성, 보안, 길이 및 설정 타이밍에주의를 기울일 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
