能正常安裝、啓停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。javascript
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。php
3.Web後端:MySQL基礎:正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表html
4.Web後端:編寫PHP網頁,鏈接數據庫,進行用戶認證前端
功能描述:用戶能登錄,登錄用戶名密碼保存在數據庫中,登錄成功顯示歡迎頁面。java
答:表單通常是網頁中負責收集數據的一種模塊。表單包括兩個部分:一部分是HTML源代碼用於描述表單,另外一部分是腳本或應用程序用於處理提交的信息。mysql
答:瀏覽器能夠解析運行HTML/CSS/JSP。web
答:WebServer支持ASP、PHP和JSP三種動態開發語言。sql
sudo apt-get install apache2
安裝apache,可是顯示我已經安裝完畢。apachectl start
啓動apache,而且使用netstat -aptn
查看開放的端口號。同時咱們在在/var/www/html
這個路徑裏使用vi test.txt
建立一個測試文件,咱們在這個txt文件裏輸入本身的學號,而後在瀏覽器中訪問ip地址/test.txt
,而後就會看到咱們輸入的學號,證實apache是可用的。
數據庫
沒有輸入密碼的狀況。
apache
1.首先咱們先使用sudo apt-get install mysql
安裝SQL,可是顯示沒法定位軟件包,不過咱們嘗試運行數據庫的時候發現數據庫已經安裝好了。
mysql -u root -p
使用默認的root用戶進入數據庫,默認的密碼是p@ssw0rd
。而後咱們使用use mysql;
來選擇默認的數據庫。(PS:咱們在數據庫裏輸入命令之後都要在結束的時候打一個;
)update user set password=PASSWORD("新密碼") where user='root';
來修改密碼,而後輸入flush privileges;
來更新權限。以後咱們輸入quit
來退出數據庫使用更新之後的密碼來登錄數據庫,發現成功登錄,說明修改密碼成功。
create database test
建立一個test數據庫,並輸入show databases
進行查看。create table 表名 (字段設定列表);
這個格式來建一個表,用來存儲咱們準備在網頁登錄界面使用的用戶名和密碼。(結尾記得輸入;
哦)insert into 表名 values('值1','值2','值3'...);
這個格式來插入數據。最後使用select * from 表名
來查看錶內的數據。
grant select(insert,update,delete) on 數據庫.* to 用戶名@登陸主機 identified by "密碼";
建立新的用戶,而且將test的庫綁定到這個用戶上。嘗試登錄,成功。
1.一樣的咱們在/var/www/html
這個路徑裏建立一個php文件,輸入學號並在瀏覽器裏進行測試。
而後咱們將以前的html文件中的一個action的值更改爲咱們編寫的php文件。
3.若是咱們以前沒有在數據庫中建立一個新的用戶的話會出現下面鏈接失敗的狀況。
4.最後咱們編寫完成之後嘗試登錄,分別輸入正確的密碼和錯誤的密碼,都能成功鏈接數據庫,而且進行用戶名與密碼的驗證。
1.最後這個階段咱們進行SQL注入攻擊(終於進入總體了)。首先咱們在用戶名中輸入' or 1=1#
,密碼隨便輸入,咱們會發現咱們能夠直接登錄?原始是咱們輸入的用戶名中有一個#
,與後面的查詢語句合成之後會變成select * from lxmtable where username='' or 1=1#' and password=''
,#
會把後面的password的判斷給註釋掉,而以前的1=1
是永真式,因此這個條件成立,因而能夠成功登錄。
if ($result = $mysqli->query($query_str))
改爲if ($result = $mysqli->multi_query($query_str))
,而後在用戶名中輸入';insert into testtable values('yh','123456','20155313');#
,接着咱們到終端查看輸入先後的表單的區別,發現添加用戶成功。注:SQL注入,就是經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來講,它是利用現有應用程序,將(惡意的)SQL命令注入到後臺數據庫引擎執行的能力,它能夠經過在Web表單中輸入(惡意)SQL語句獲得一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。
<img src="jordan.jpg" />20155313</a>
,而後隨便輸入密碼點擊登錄,發現顯示登錄失敗,判斷多是代碼的安全性過高了,所以沒法實現攻擊。而後我在同窗主機上使用她的代碼進行測試,發現攻擊成功。注:XSS攻擊:跨站腳本攻擊(Cross Site Scripting),爲不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫爲XSS。XSS是一種常常出如今web應用中的計算機安全漏洞,它容許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。好比這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞因爲被駭客用來編寫危害性更大的phishing攻擊而變得廣爲人知。對於跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的「緩衝區溢出攻擊「,而JavaScript是新型的「ShellCode」。