(1).Web前端HTML(0.5分)javascript
能正常安裝、啓停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。php
(2).Web前端javascipt(0.5分)html
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。前端
(3).Web後端:MySQL基礎:正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表(0.5分)java
(4).Web後端:編寫PHP網頁,鏈接數據庫,進行用戶認證(1分)mysql
(5).最簡單的SQL注入,XSS攻擊測試(1分)web
功能描述:用戶能登錄,登錄用戶名密碼保存在數據庫中,登錄成功顯示歡迎頁面。sql
課題負責人須要完成:登錄後能夠發貼;會話管理。數據庫
(1)什麼是表單apache
表單在網頁中主要負責數據採集功能。一個表單有三個基本組成部分: 表單標籤:這裏麪包含了處理表單數據所用CGI程序的URL以及數據提交到服務器的方法。 表單域:包含了文本框、密碼框、隱藏域、多行文本框、複選框、單選框、下拉選擇框和文件上傳框等。 表單按鈕:包括提交按鈕、復位按鈕和通常按鈕;用於將數據傳送到服務器上的CGI腳本或者取消輸入,還能夠用表單按鈕來控制其餘定義了處理腳本的處理工做。
(2)瀏覽器能夠解析運行什麼語言。
支持HTML(超文本標記語言)、XML(可擴展標記語言)以及Python、PHP、JavaScript、ASP等衆多腳本語言。
(3)WebServer支持哪些動態語言
最經常使用的三種動態網頁語言有ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)。
ASP
Active Server Pages,是MicroSoft公司開發的服務器端腳本環境,可用來建立動態交互式網頁並創建強大的web應用程序。當服務器收到對ASP文件的請求時,它會處理包含在用於構建發送給瀏覽器的HTML(Hyper Text Markup Language,超文本置標語言)網頁文件中的服務器端腳本代碼。除服務器端腳本代碼外,ASP文件也能夠包含文本、HTML(包括相關的客戶端腳本)和com組件調用
PHP
Hypertext Preprocessor「超文本預處理器」,是一種通用開源腳本語言。語法吸取了C語言、Java和Perl的特色,利於學習,使用普遍,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它能夠比CGI或者Perl更快速地執行動態網頁。用PHP作出的動態頁面與其餘的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比徹底生成HTML標記的CGI要高許多;PHP還能夠執行編譯後代碼,編譯能夠達到加密和優化代碼運行,使代碼運行更快。
JSP
Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計,它 [1] 是由Sun Microsystems公司倡導、許多公司參與一塊兒創建的一種動態網頁技術標準。JSP技術有點相似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而造成JSP文件,後綴名爲(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其餘操做系統上運行。
1.各位大佬的實驗過程和原理解釋得都很是詳細啦,不須要我再作搬運工了。貼連接: 2017-2018-2 『網絡對抗技術』Exp8:Web基礎
20155201 網絡攻防技術 實驗八 Web基礎
Exp8 Web基礎
2.及時留筆記真的很重要。
以前html自覺留了筆記,如今查起來很方便。
很後悔當時配置eclipse沒有留筆記。想瞅一眼以前寫的代碼,打開eclipse以前的配置所有消失(學會wei笑)。apache2在配置方面比eclipse友好太多了。
目錄
一波證實截圖
開啓apache2 創建表格-成功 創建登陸界面-成功 登陸成功-密碼正確 登陸失敗-密碼錯誤 簡單的sql注入 XSS攻擊-成功
個人代碼
遇到的問題及解決
something different
開啓apache2
創建表格-成功
創建登陸界面-成功
登陸成功-密碼正確
登陸失敗-密碼錯誤
簡單的sql注入
XSS攻擊-成功
查看圖片
查看文件
<a href="文件名">隨意輸的內容,點擊它能夠進入文件</a>
在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。
GET - 從指定的資源請求數據。查詢字符串(名稱/值對)是在 GET 請求的 URL 中發送的 POST - 向指定的資源提交要被處理的數據。查詢字符串(名稱/值對)是在 POST 請求的 HTTP 消息主體中發送的
因此通常用post提交密碼之類的
login2.html
<html> <head> <title>一個很普通的登陸界面</title> <!-- Meta tag Keywords --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- Meta tag Keywords --> </head> <body bgcolor="#FFFCEC" topmargin="100" leftmargin="325"> <!-- main --> <!--//header--> <h2><font size=6>來吧 人類! </font></h2> <form action="login.php" method="post" name="form_login" > <input placeholder="your email" name="Email" class="user" type="text" onfocus="if (this.value=='Your email') this.value='';" /> <br> </br> <input placeholder="your password" name="Password" class="pass" type="password" onfocus="if (this.value=='Your password') this.value='';"/> <br> </br> <input type="submit" value="上岸" onClick="return validateLogin()"/> </form> <!--//main--> <script language="javascript"> function validateLogin(){ var sUserName = document.form_login.Email.value ; var sPassword = document.form_login.Password.value ; if ((sUserName =="") || (sUserName=="Your email")){ alert("user email!"); return false ; } if ((sPassword =="") || (sPassword=="Your password")){ alert("password!"); return false ; } } </script> </body> </html>
login.php
<?php $uname=$_POST["Email"]; $pwd=$_POST["Password"]; echo $uname; //$query_str="SELECT * FROM login where username='$uname' and password='$pwd';"; $query_str="SELECT * FROM login_table where username='$uname' and password='$pwd';"; $mysqli = new mysqli("127.0.0.1", "thl", "20155325", "exp8"); /* 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}:W e l c o m e~~~ <br> "; } else { echo "<br> login failed (略略略) <br> " ; } /* free result set */ $result->close(); } $mysqli->close(); ?>
問題一:輸入用戶名密碼後跳轉出文件
問題二:注入不了
改掉框框裏原來的email。type是限制文本輸入的格式。
以上問題解決了,但仍是有別的問題運行不了,本實驗並不須要在windows下調,暫時先放過eclipse。
自學筆記 從零開始學cookie(我的筆記)——一
eg.%20 空格
%27 單引號
%3B分號