能正常安裝、啓停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表
單的HTMLjavascript
Web前端javasciptphp
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。html
Web後端:MySQL基礎:正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表前端
Web後端:編寫PHP網頁,鏈接數據庫,進行用戶認證java
最簡單的SQL注入,XSS攻擊測試mysql
功能描述:用戶能登錄,登錄用戶名密碼保存在數據庫中,登錄成功顯示歡迎頁面。web
什麼是表單sql
表單標籤:這裏麪包含了處理表單數據所用CGI程序的URL以及數據提交到服務器的方法。數據庫
表單域:包含了文本框、密碼框、隱藏域、多行文本框、複選框、單選框、下拉選擇框和文件上傳框等。apache
表單按鈕:包括提交按鈕、復位按鈕和通常按鈕;用於將數據傳送到服務器上的CGI腳本或者取消輸入,還能夠用表單按鈕來控制其餘定義了處理腳本的處理工做。
瀏覽器能夠解析運行什麼語言
WebServer支持哪些動態語言
service apache2 start命令打開Apache服務
瀏覽器輸入127.0.0.1,若是能夠打開Apache的默認網頁,則開啓成功
進入Apache目錄下,新建一個簡單的含有表單的html文件
1 <html> 2 <head> 3 <title>CryptoTeam</title> 4 <!-- Meta tag Keywords --> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <!-- Meta tag Keywords --> 7 </head> 8 9 <body> 10 <!-- main --> 11 <!--//header--> 12 <h2>Login Quick</h2> 13 <form action="login" method="post"> 14 <input placeholder="E-mail" name="Name" class="user" type="text"> 15 <br> 16 </br> 17 <input placeholder="Password" name="Password" class="pass" type="password"> 18 <br> 19 </br> 20 <input type="submit" value="Login"> 21 </form> 22 <!--//main--> 23 </body> 24 </html>
打開網頁
添加一段代碼
1 <html> 2 <head> 3 <title>CryptoTeam</title> 4 <!-- Meta tag Keywords --> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <!-- Meta tag Keywords --> 7 </head> 8 9 <body> 10 <!-- main --> 11 <!--//header--> 12 <h2>Login Quick</h2> 13 <form action="login" method="post" name="form_login"> 14 <input placeholder="E-mail" name="Email" class="user" type="text" onfocus="if (this.value=='Your email') this.value='';" /> 15 <br> 16 </br> 17 <input placeholder="Password" name="Password" class="pass" type="password" onfocus="if (this.value=='Your password') this.value='';"/> 18 <br> 19 </br> 20 <input type="submit" value="Login" onClick="return validateLogin()"/> 21 </form> 22 <!--//main--> 23 <script language="javascript"> 24 function validateLogin(){ 25 var sUserName = document.form_login.Email.value ; 26 var sPassword = document.form_login.Password.value ; 27 if ((sUserName =="") || (sUserName=="Your email")){ 28 alert("user email!"); 29 return false ; 30 } 31 32 if ((sPassword =="") || (sPassword=="Your password")){ 33 alert("password!"); 34 return false ; 35 } 36 37 } 38 </script> 39 40 </body> 41 </html>
在瀏覽器訪問
輸入/etc/init.d/mysql start
開啓MySQL服務
輸入mysql -u root -p
使用root權限進入,默認的密碼是password
show databases;
查看數據庫基本信息
use mysql;
選擇使用mysql這個數據庫
select user, password, host from user;
查看當前用戶信息
update user set password=PASSWORD("新密碼") where user='root';
修改密碼
flush privileges;
,更新權限
退出數據庫,使用新的密碼登陸
create database 數據庫名稱;
創建數據庫
show databases;
查看存在的數據庫
use 數據庫名稱;
使用咱們建立的數據庫
create table 表名 (字段設定列表);
創建數據庫表,並設置字段基本信息
show tables;
查看錶信息
insert into 表名 values('值1','值2','值3'...);
插入數據
select * from 表名;
查詢表中的數據
grant select,insert,update,delete on 數據庫.* to 用戶名@登陸主機(能夠是localhost,也能夠是遠程登陸方式的IP) identified by "密碼";
exit退出,而後使用新的用戶名和密碼進行登陸
成功登錄
在 /var/www/html
目錄下新建一個PHP測試文件phptest.php
<?php echo ($_GET["a"]); include($_GET["a"]); echo "Hello word! This is my php test page!<br>"; ?>
網址欄中輸入localhost:80/phptest.php?a=/etc/passwd
瀏覽器中輸入127.0.0.1/login.php
利用PHP和MySQL,,修改後的代碼以下
<?php $uname=$_POST["username"]; $pwd=$_POST["password"]; echo $uname; $query_str="SELECT * FROM login_table where username='$uname' and password='$pwd';"; $mysqli = new mysqli("127.0.0.1", "wyb", "20165219", "wyb"); /* 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_str)) { if ($result->num_rows > 0 ){ echo "<br> {$uname}:Welcome login!! <br> "; } else { echo "<br> login failed!!!! <br> " ; } /* free result set */ $result->close(); } $mysqli->close(); ?>
瀏覽器輸入127.0.0.1/login.html
SQL注入
在瀏覽器輸入127.0.0.1/login.html訪問本身的登陸界面
在用戶名輸入框輸入' or 1=1#,密碼任意輸入,可登錄成功
圖片放在/var/www/html目錄下
瀏覽器輸入127.0.0.1/login.html
用戶名輸入框中輸入
瞭解HTML、PHP、MySQL的基本語法,有些內容在上學期web編程的課程中學習過,複習了前面的知識