# EXP8 Web基础
EXP8 Web基礎
基礎問題回答
1.什么是表單?
表單:表單在網頁中主要負責數據采集功能。
基本組成部分:
- 表單標簽:這里面包含了處理表單數據所用CGI程序的URL以及數據提交到服務器的方法。
- 表單域:包含了文本框、密碼框、隱藏域、多行文本框、復選框、單選框、下拉選擇框和文件上傳框等。
表單按鈕:包括提交按鈕、復位按鈕和一般按鈕;用于將數據傳送到服務器上的CGI腳本或者取消輸入,還可以用表單按鈕來控制其他定義了處理腳本的處理工作。
2.瀏覽器可以解析運行什么語言
超文本標記語言:HTML
可擴展標記語言:XML
腳本語言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等。
3.WebServer支持哪些動態語言
常用的有:ASP語言,PHP語言和JSP語言。
實踐內容
- Web前端:HTML基礎
- Web前端:javascipt基礎
- Web后端:MySQL基礎
- Web后端:PHP基礎
- SQL注入
- XSS攻擊測試
- 發帖和會話管理的實現
實踐過程記錄
1.Web前端HTML
1.輸入sudo vi/etc/apache2/ports.conf查看apache端口情況,更改端口號。我改為8080
2.通過service apache2 start開啟Apache,使用netstat -aptn查看確認端口占用
3.瀏覽器中輸入localhost:8080,登錄到Apache首頁驗證其可用
4.訪問Apache工作目錄cd /var/www/html,新建一個test.html文件
5.編寫一個含有表單的html
6.登錄瀏覽器,輸入localhost:8080/test.html,成功出現下圖界面
7.在上面的文本框內隨意輸入,然后點擊確認按鈕數據會傳送到html_form_action.php的頁面,由于沒有對此頁面進行編輯,出現的是404(也就是失敗,什么都沒有!)
2.Web前端javascipt
- JavaScript是一種屬于網絡的腳本語言,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。
- DOM:文檔對象模型,可以以一種獨立于平臺和語言的方式訪問和修改一個文檔的內容和結構。換句話說,這是表示和處理一個HTML或XML文檔的常用方法。
1.編寫驗證用戶名和密碼的規則:(比如用戶名和密碼不能為空)
2.登入瀏覽器,輸入localhost/test1.html進行測試。
3.MySQL基礎
注:在MySQL中輸入命令后面都要帶一個分號作為命令結束符
1.輸入/etc/init.d/mysql start打開mysql服務
2.輸入mysql -u root -p,以root身份登錄,根據提示輸入密碼,默認密碼為p@ssw0rd,進入MySQL
3.修改密碼
- 輸入use mysql;,選擇mysql數據庫
- 輸入select user, password, host from user;,顯示mysql庫中已有的用戶名、密碼與權限
- 輸入UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';更改用戶名root的密碼
- 輸入flush privileges;,更新權限
(由于各種不仔細,后來我的密碼改為4329)
輸入quit退出,重新輸入mysql -u root -p重新進入,使用新密碼登錄成功,說明修改成功
4.創建新表
輸入CREATE SCHEMA庫表的名稱;
5.在表中添加內容
輸入use gaojiatong打開表
輸入insert into users(userid,username,password,enabled) values(1,'20154329',password("4329"),"TRUE");進行內容的添加
4.PHP基礎
PHP(Hypertext Preprocessor)是一種通用開源腳本語言。主要適用于Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率高,PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快1.測試一下php。還是在原位置新建一個php文件
*以下是一個php測試代碼:
2.瀏覽器打開localhost/test.php
5.PHP+MySQL實現登錄網頁編寫
撲街了無數次,總結一下經驗教訓!事情是這樣的——
- MySQL中用戶名不能是root,要新建一個用戶,不然會失敗
(下圖為我新添加的用戶) - php文件一定要仔細修改,該改的都對應修改好,任何遺漏都會導致failed
(這是我的test2.html,粉色框內是需要認真修改的部分!!!)
綜上所述,其實并不難,一定要仔細仔細再仔細
6.SQL注入攻擊
SQL注入攻擊:可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。1.在登錄界面用戶名處輸入' or 1=1#,密碼隨意,發現可以成功登錄
- 這是個什么操作呢?
在代碼中有這個語句select * from users where username='' or 1=1#' and password='' #是注釋符,將其后面的內容給注釋掉了,只剩下前面恒成立的1=1,所以“密碼隨意”可以成功登錄。
2.將login.php文件中if($result = $mysqli->query($query_str))改為if ($result = $mysqli->multi_query($query_str))實現執行多個sql語句
3.在用戶名輸入框中輸入';insert into gjt values('wxf','4318');#SELECT * FROM gjt WHERE username='' insert into gjt values('wxf','4329'); 提示登錄失敗。
但是到數據庫里查看表的內容就發現多了一條用戶信息,下次就可直接用這條用戶信息登錄。
7.xss攻擊
- XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中
1.先將圖片保存在/var/www/html下 (Leon.jpg)
2.在登錄的用戶名中輸入:haha,密碼隨意
這里圖片名一定要和你命名的一模一樣!
3.點擊登錄,失敗
為什么會失敗呢?原因是......!↓
4.打開login.php,取消掉這行注釋,現在就可以成功啦
(終于結束了,撒花★,°:.☆( ̄▽ ̄)/$:.°★ 。)
意外收獲
在百度學習html時,我get了一項小小的修改背景顏色/圖片的技能,鏈接如下↓
link
這是我修改的猥瑣少女粉↓(Φ皿Φ)
html其實很好玩欸,正在了解更多小操作......
實驗心得與體會
一開始覺得工程很浩大,做完之后發現,考驗的還是耐心與細心。步驟出現問題,都可以通過各種各樣的方法解決,但是在這之外的,譬如說html中有些地方因為不自信沒有修改導致的......就很不應該了。第一次接觸html,出現過(雖然我寫的代碼很美,但它顯示出來和我想的完全不一樣,最后還是靠百度)。但是!還是很有收獲的!
轉載于:https://www.cnblogs.com/20154329g/p/9072316.html
總結
以上是生活随笔為你收集整理的# EXP8 Web基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C. Liebig's Barrels
- 下一篇: linkedHashMap源码解析(JD