能正常安裝、啓停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。php
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。html
正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表(0.5分)前端
鏈接數據庫,進行用戶認證(1分)java
功能描述:用戶能登錄,登錄用戶名密碼保存在數據庫中,登錄成功顯示歡迎頁面。mysql
此時在瀏覽器輸入127.0.0.1,若是能夠打開Apache的默認網頁,則開啓成功:web
在瀏覽器中輸入/var/www/html/20165212form.html打開網頁以下所示:sql
<h2 align="center">Login</h2> <center> <form action="login" method="post" name="form_login"> <input placeholder="E-mail" name="Name" class="user" type="email" onfocus="if (this.value=='Your email') this.value='';" /> <br> </br> <input placeholder="Password" name="Password" class="pass" type="password" onfocus="if (this.value=='Your password') this.value='';"/> <br> </br> <input type="submit" value="Login" onClick="return validateLogin()"/> </form> </center>
- 在瀏覽器訪問/var/www/html/login_test.html,若是用戶郵箱或密碼未填寫就提交,網頁會出現如下提示:數據庫
修改密碼更新權限apache
新增用戶並所使用新增的帳戶互登陸SQL後端
<?php $uname=$_POST["Email"]; $pwd=$_POST["Password"]; echo $uname; $query_str="SELECT * FROM login where username='$uname' and password='$pwd';"; $mysqli = new mysqli("127.0.0.1", "sxx", "20165318", "sxx"); $query_str1="use sxx;"; /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } echo "connection ok!"; /* Select queries return a resultset */ if ($result = $mysqli->query($query_str1)) echo"<br>Success into database!"; echo$uname; if ($result = $mysqli->query($query_str)) { if ($result->num_rows > 0 ){ echo "<br> {$uname}:Welcome!!! <br> "; } else { echo "<br> login failed!!!! <br> " ; } /* free result set */ $result->close(); } $mysqli->close(); ?>
SQL注入,就是經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來講,它是利用現有應用程序,將(惡意的)SQL命令注入到後臺數據庫引擎執行的能力,它能夠經過在Web表單中輸入(惡意)SQL語句獲得一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。 在用戶名輸入框輸入' or 1=1#,密碼任意輸入,可登錄成功:
這是由於,輸入的用戶名和咱們的代碼中select語句組合起來變成了select * from users where username='' or 1=1#' and password='',#至關於註釋符,會把後面的內容都註釋掉,而1=1是永真式,因此這個條件永遠成立,因此無論密碼是否輸入正確,都可以成功登錄。
跨站腳本攻擊(Cross Site Scripting),爲不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫爲XSS。XSS是一種常常出如今web應用中的計算機安全漏洞,它容許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。好比這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞因爲被駭客用來編寫危害性更大的phishing攻擊而變得廣爲人知。 將一張圖片放在/var/www/html目錄下,在用戶名輸入框輸入,密碼隨意,就能夠讀取圖片了:
實驗中遇到的問題及感想體會
此次實驗遇到的最大的問題應該來自對代碼的不理解 大體的理解我寫在圖上了
之後作實驗要提早兩天作,不少東西都是一邊動手作一邊理解的,有的甚至作出來了還不理解。就須要時間去在回想思考一邊!