本文目錄一覽:
php如何防止網站內容被採集
1、限制IP地址單位時間的訪問次數
分析:沒有哪個常人一秒鐘內能訪問相同網站5次,除非是程序訪問,而有這種喜好的,就剩下搜索引擎爬蟲和討厭的採集器了。
弊端:一刀切,這同樣會阻止搜索引擎對網站的收錄
適用網站:不太依靠搜索引擎的網站
採集器會怎麼做:減少單位時間的訪問次數,減低採集效率
2、屏蔽ip
分析:通過後台計數器,記錄來訪者ip和訪問頻率,人為分析來訪記錄,屏蔽可疑Ip。
弊端:似乎沒什麼弊端,就是站長忙了點
適用網站:所有網站,且站長能夠知道哪些是google或者百度的機器人
採集器會怎麼做:打游擊戰唄!利用ip代理採集一次換一次,不過會降低採集器的效率和網速(用代理嘛)。
3、利用js加密網頁內容
Note:這個方法我沒接觸過,只是從別處看來
分析:不用分析了,搜索引擎爬蟲和採集器通殺
適用網站:極度討厭搜索引擎和採集器的網站
採集器會這麼做:你那麼牛,都豁出去了,他就不來采你了
4、網頁里隱藏網站版權或者一些隨機垃圾文字,這些文字風格寫在css文件中
分析:雖然不能防止採集,但是會讓採集後的內容充滿了你網站的版權說明或者一些垃圾文字,因為一般採集器不會同時採集你的css文件,那些文字沒了風格,就顯示出來了。
適用網站:所有網站
採集器會怎麼做:對於版權文字,好辦,替換掉。對於隨機的垃圾文字,沒辦法,勤快點了。
5、用戶登錄才能訪問網站內容
分析:搜索引擎爬蟲不會對每個這樣類型的網站設計登錄程序。聽說採集器可以針對某個網站設計模擬用戶登錄提交表單行為。
適用網站:極度討厭搜索引擎,且想阻止大部分採集器的網站
採集器會怎麼做:製作擬用戶登錄提交表單行為的模塊
thinkphp怎麼防止跨站請求
TP當中有一個叫 「表單令牌” 的東西,再每個表單中插入 表單令牌, 可以令網站避免csrf請求。
如何實現php的安全最大化?怎樣避免sql注入漏洞和xss跨站腳本攻擊漏洞
使用php安全模式
伺服器要做好管理,賬號許可權是否合理。
假定所有用戶的輸入都是「惡意」的,防止XSS攻擊,譬如:對用戶的輸入輸出做好必要的過濾
防止CSRF,表單設置隱藏域,post一個隨機字元串到後台,可以有效防止跨站請求偽造。
文件上傳,檢查是否做好效驗,要注意上傳文件存儲目錄許可權。
防禦SQL注入。
避免SQL注入漏洞
1.使用預編譯語句
2.使用安全的存儲過程
3.檢查輸入數據的數據類型
4.從資料庫自身的角度考慮,應該使用最小許可權原則,不可使用root或dbowner的身份連接資料庫。若多個應用使用同一個資料庫,也應該為資料庫分配不同的賬戶。web應用使用的資料庫賬戶,不應該有創建自定義函數,操作本地文件的許可權。
避免XSS跨站腳本攻擊
1.假定所有用戶輸入都是「邪惡」的
2.考慮周全的正則表達式
3.為cookie設置HttpOnly,防止cookie劫持
4.外部js不一定可靠
5.出去不必要的HTML注釋
6. 針對非法的HTML代碼包括單雙引號等,使用htmlspecialchars()函數。
如何防止跨站攻擊~~~
除了自身的硬體條件外,還需要對你的伺服器做出安全設置控制,用2003系統來說下具體安全設置如下:
1、伺服器安全設置之–硬碟許可權篇
這裡著重談需要的許可權,也就是最終文件夾或硬碟需要的許可權,可以防禦各種木馬入侵,提權攻擊,跨站攻擊等。本實例經過多次試驗,安全性能很好,伺服器基本沒有被木馬威脅的擔憂了。
硬碟或文件夾: C:\ D:\ E:\ F:\ 類推
主要許可權部分:
Administrators 完全控制 無
該文件夾,子文件夾及文件
不是繼承的
CREATOR OWNER 完全控制
只有子文件夾及文件
不是繼承的
SYSTEM 完全控制
該文件夾,子文件夾及文件
不是繼承的
其他許可權部分:
如果安裝了其他運行環境,比如PHP等,則根據PHP的環境功能要求來設置硬碟許可權,一般是安裝目錄加上users讀取運行許可權就足夠了,比如c:\php的話,就在根目錄許可權繼承的情況下加上users讀取運行許可權,需要寫入數據的比如tmp文件夾,則把users的寫刪許可權加上,運行許可權不要,然後把虛擬主機用戶的讀許可權拒絕即可。如果是mysql的話,用一個獨立用戶運行MYSQL會更安全,下面會有介紹。如果是winwebmail,則最好建立獨立的應用程序池和獨立IIS用戶,然後整個安裝目錄有users用戶的讀/運行/寫/許可權,IIS用戶則相同,這個IIS用戶就只用在winwebmail的WEB訪問中,其他IIS站點切勿使用
硬碟設置需要根據你的實際需要來設置許可權!
2、伺服器安全設置之–系統服務篇(設置完畢需要重新啟動)
*除非特殊情況非開不可,下列系統服務要停止並禁用:
1、Alerter 2、Application Layer Gateway Service 3、
Background Intelligent Transfer Service
4、Computer Browser 5、Distributed File System 6、Help and Support 7、Messenger 8、NetMeeting Remote Desktop Sharing 9、Print Spooler 10、Remote Registry 11、Task Scheduler 12、TCP/IP NetBIOS Helper 13、Telnet 14、Workstation 以上是windows2003server標準服務當中需要停止的服務,作為IIS網路伺服器,以上服務務必要停止,如果需要SSL證書服務,則設置方法不同。如果你裝有虛擬主機系統,設置當然也不一樣!更詳細設置可以根據自己的需要找更詳細的參考資料。
3、伺服器安全設置之–組件安全設置篇 (非常重要!!!)
A、卸載WScript.Shell 和 Shell.application 組件,將下面的代碼保存為一個.BAT文件執行(分2000和2003系統)
win2000
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
win2003
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINDOWS\system32\shell32.dll
B、改名不安全組件,需要注意的是組件的名稱和Clsid都要改,並且要改徹底了,不要照抄,要自己改
【開始→運行→regedit→回車】打開註冊表編輯器
然後【編輯→查找→填寫Shell.application→查找下一個】
用這個方法能找到兩個註冊表項:
{13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。
第一步:為了確保萬無一失,把這兩個註冊表項導出來,保存為xxxx.reg 文件。
第二步:比如我們想做這樣的更改
13709620-C279-11CE-A49E-444553540000 改名為 13709620-C279-11CE-A49E-444553540001
Shell.application 改名為 Shell.application_nohack
第三步:那麼,就把剛才導出的.reg文件里的內容按上面的對應關係替換掉,然後把修改好的.reg文件導入到註冊表中(雙擊即可),導入了改名後的註冊表項之後,別忘記了刪除原有的那兩個項目。這裡需要注意一點,Clsid中只能是十個數字和ABCDEF六個字母。
其實,只要把對應註冊表項導出來備份,然後直接改鍵名就可以了。
WScript.Shell 和 Shell.application 組件是 腳本入侵過程中,提升許可權的重要環節,這兩個組件的卸載和修改對應註冊鍵名,可以很大程度的提高虛擬主機的腳本安全性能,一般來說,ASP和php類腳本提升許可權的功能是無法實現了,再加上一些系統服務、硬碟訪問許可權、埠過濾、本地安全策略的設置,虛擬主機因該說,安全性能有非常大的提高,黑客入侵的可能性是非常低了。註銷了Shell組件之後,侵入者運行提升工具的可能性就很小了,但是prel等別的腳本語言也有shell能力,為防萬一,還是設置一下為好。下面是另外一種設置,大同小異。
一、禁止使用FileSystemObject組件
FileSystemObject可以對文件進行常規操作,可以通過修改註冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\
改名為其它的名字,如:改為 FileSystemObject_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
2000註銷此組件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll
2003註銷此組件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll
如何禁止Guest用戶使用scrrun.dll來防止調用此組件?
使用這個命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests
二、禁止使用WScript.Shell組件
WScript.Shell可以調用系統內核運行DOS基本命令
可以通過修改註冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\
改名為其它的名字,如:改為WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
三、禁止使用Shell.Application組件
Shell.Application可以調用系統內核運行DOS基本命令
可以通過修改註冊表,將此組件改名,來防止此類木馬的危害。
HKEY_CLASSES_ROOT\Shell.Application\
及
HKEY_CLASSES_ROOT\Shell.Application.1\
改名為其它的名字,如:改為Shell.Application_ChangeName 或 Shell.Application.1_ChangeName
自己以後調用的時候使用這個就可以正常調用此組件了
也要將clsid值也改一下
HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值
HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值
也可以將其刪除,來防止此類木馬的危害。
禁止Guest用戶使用shell32.dll來防止調用此組件。
2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests
註:操作均需要重新啟動WEB服務後才會生效。
四、調用Cmd.exe
禁用Guests組用戶調用cmd.exe
2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests
2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests
通過以上四步的設置基本可以防範目前比較流行的幾種木馬,但最有效的辦法還是通過綜合安全設置,將伺服器、程序安全都達到一定標準,才可能將安全等級設置較高,防範更多非法入侵。
C、防止Serv-U許可權提升 (適用於 Serv-U6.0 以前版本,之後可以直接設置密碼)
先停掉Serv-U服務
用Ultraedit打開ServUDaemon.exe
查找 Ascii:LocalAdministrator 和 #l@$ak#.lk;0@P
修改成等長度的其它字元就可以了,ServUAdmin.exe也一樣處理。
另外注意設置Serv-U所在的文件夾的許可權,不要讓IIS匿名用戶有讀取的許可權,否則人家下走你修改過的文件,照樣可以分析出你的管理員名和密碼。
4、伺服器安全設置之–IIS用戶設置方法
不同站點使用不用的IIS用戶。另外許可權的設置要細緻。
5、伺服器安全設置之–伺服器安全和性能配置
把下面文本保存為: windows2000-2003伺服器安全和性能註冊表自動配置文件.reg 運行即可。[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
“NoRecentDocsMenu”=hex:01,00,00,00
“NoRecentDocsHistory”=hex:01,00,00,00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
“DontDisplayLastUserName”=”1”
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
“restrictanonymous”=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters]
“AutoShareServer”=dword:00000000
“AutoShareWks”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“EnableICMPRedirect”=dword:00000000
“KeepAliveTime”=dword:000927c0
“SynAttackProtect”=dword:00000002
“TcpMaxHalfOpen”=dword:000001f4
“TcpMaxHalfOpenRetried”=dword:00000190
“TcpMaxConnectResponseRetransmissions”=dword:00000001
“TcpMaxDataRetransmissions”=dword:00000003
“TCPMaxPortsExhausted”=dword:00000005
“DisableIPSourceRouting”=dword:00000002
“TcpTimedWaitDelay”=dword:0000001e
“TcpNumConnections”=dword:00004e20
“EnablePMTUDiscovery”=dword:00000000
“NoNameReleaseOnDemand”=dword:00000001
“EnableDeadGWDetect”=dword:00000000
“PerformRouterDiscovery”=dword:00000000
“EnableICMPRedirects”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
“BacklogIncrement”=dword:00000005
“MaxConnBackLog”=dword:000007d0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
“EnableDynamicBacklog”=dword:00000001
“MinimumDynamicBacklog”=dword:00000014
“MaximumDynamicBacklog”=dword:00007530
“DynamicBacklogGrowthDelta”=dword:0000000a
功能:可抵禦DDOS攻擊2-3萬包,提高伺服器TCP-IP整體安全性能(效果等於軟體防火牆,節約了系統資源)
6、伺服器安全設置之–IP安全策略 (僅僅列出需要屏蔽或阻止的埠或協議)
協議 IP協議埠 源地址 目標地址 描述 方式
ICMP — — — ICMP 阻止
UDP 135 任何IP地址 我的IP地址 135-UDP 阻止
UDP 136 任何IP地址 我的IP地址 136-UDP 阻止
UDP 137 任何IP地址 我的IP地址 137-UDP 阻止
UDP 138 任何IP地址 我的IP地址 138-UDP 阻止
UDP 139 任何IP地址 我的IP地址 139-UDP 阻止
TCP 445 任何IP地址-從任意埠 我的IP地址-445 445-TCP 阻止
UDP 445 任何IP地址-從任意埠 我的IP地址-445 445-UDP 阻止
UDP 69 任何IP地址-從任意埠 我的IP地址-69 69-入 阻止
UDP 69 我的IP地址-69 任何IP地址-任意埠 69-出 阻止
TCP 4444 任何IP地址-從任意埠 我的IP地址-4444 4444-TCP 阻止
TCP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
TCP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
TCP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
UDP 1026 我的IP地址-1026 任何IP地址-任意埠 灰鴿子-1026 阻止
UDP 1027 我的IP地址-1027 任何IP地址-任意埠 灰鴿子-1027 阻止
UDP 1028 我的IP地址-1028 任何IP地址-任意埠 灰鴿子-1028 阻止
TCP 21 我的IP地址-從任意埠 任何IP地址-到21埠 阻止tftp出站 阻止
TCP 99 我的IP地址-99 任何IP地址-任意埠 阻止99shell 阻止
以上是IP安全策略里的設置,可以根據實際情況,增加或刪除埠
7、伺服器安全設置之–本地安全策略設置
安全策略自動更新命令:GPUpdate /force (應用組策略自動生效不需重新啟動)
開始菜單—管理工具—本地安全策略
A、本地策略——審核策略
審核策略更改 成功 失敗
審核登錄事件 成功 失敗
審核對象訪問 失敗
審核過程跟蹤 無審核
審核目錄服務訪問 失敗
審核特權使用 失敗
審核系統事件 成功 失敗
審核賬戶登錄事件 成功 失敗
審核賬戶管理 成功 失敗
B、本地策略——用戶許可權分配
關閉系統:只有Administrators組、其它全部刪除。
通過終端服務拒絕登陸:加入Guests、User組
通過終端服務允許登陸:只加入Administrators組,其他全部刪除
C、本地策略——安全選項
互動式登陸:不顯示上次的用戶名 啟用
網路訪問:不允許SAM帳戶和共享的匿名枚舉 啟用
網路訪問:不允許為網路身份驗證儲存憑證 啟用
網路訪問:可匿名訪問的共享 全部刪除
網路訪問:可匿名訪問的命 全部刪除
網路訪問:可遠程訪問的註冊表路徑 全部刪除
網路訪問:可遠程訪問的註冊表路徑和子路徑 全部刪除
帳戶:重命名來賓帳戶 重命名一個帳戶
帳戶:重命名系統管理員帳戶 重命名一個帳戶
還有很多設置!你可以多找找資料!
原創文章,作者:VV2AI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130375.html