Exp 8 Web基础

Posted on 2019-05-16 16:57  姜福花  阅读(94)  评论(0编辑  收藏

实践内容

(1)Web前端HTML

   能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。

(2)Web前端javascipt

  理解JavaScript的基本功能,理解DOM。编写JavaScript验证用户名、密码的规则。

(3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表

(4)Web后端:编写PHP网页,连接数据库,进行用户认证

(5)最简单的SQL注入,XSS攻击测试

功能描述:用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。

基础问题回答

(1)什么是表单。

可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。 表单包括两个部分:一部分是HTML源代码用于描述表单,另一部分是脚本或应用程序用于处理提交的信息。

表单由文本域、复选框、单选框、菜单、文件地址域、按钮等表单对象组成,所有的部分都包含在一个由标识符标志起来的表单结构中。
表单的种类有注册表、留言薄、站点导航条、搜索引擎等。

(2)浏览器可以解析运行什么语言。

HTML、XML,Python、PHP、JavaScript、ASP等

(3)WebServer支持哪些动态语言。

Javascript、ASP、PHP、Ruby等

实验过程

一、Web前端HTML

(1)安装启动Apache

  通过使用service apache2 start语句启动Apache服务

  

   在浏览器地址栏输入127.0.0.1

出现上图界面,表示已启动。

(2)HTML基础

  Apache的启动文件目录为/var/www/html/

在该目录下创建html文件,命名为simple_form.html。并编写基本网页构建代码,保存退出

在浏览器上输入

file:///var/www/html/simple_form.html

 

 

可以在浏览器上呈现基本的登录界面。

二、Web前端javascipt

修改之前的simple_form.html文件内容代码

加入对登陆信息的判断,重新再回到浏览器去实验

当密码为空时,会提示密码错误。

 三、Web后端:MySQL基础

(1)MySQL的配置

输入代码/etc/init.d/mysql start 启动MySQL服务 注意开头不需要加cd。。。

输入mysql -u root -p ,用root权限登录MySQL

输入use mysql;进入数据库(注意进入数据库之后的操作都要加‘;’否则程序无法识别)

输入代码:update user set password=PASSWORD("20164304") whereuser='root';

修改用户登录密码为20164304

输入 flush privileges;更新权限

输入create database JA;创建自己的数据库

 

输入show databases;查看已存在的数据库

输入use JA;

输入create table test_table (username VARCHAR(20), password VARCHAR(20));建立数据库数据表

输入show tables;查看数据表项数据

输入insert into login_table values('850362408@qq.com','20164304')插入数据表项信息,

 输入select * from login_table;

输入grant select,insert,update,delete on JA.* to root@localhost identified by "4304";

 

尝试登陆

登陆成功

三、Web后端:编写PHP网页,连接数据库,进行用户认证

(1)先编写简单的php网页脚本

文件存储在/var/www/html,文件命名为phptest.php

在浏览器地址栏输入localhost/phptest.php?a=/etc/passwd

可以看到测试网页内容:this is my php test page!

(2)利用PHP和MySQL,结合之前编写的登录网页进行登录身份认证

 在var/www/html目录下创建文件login.html和login.php

 login.php

该文件主要功能为,网页界面登陆相关功能

login.html

该文件主要功能为数据库内数据应用调用

(3)登陆网页检测

 再次回到浏览器,在地址栏里输入127.0.0.1/login.html

输入之前在数据库中设置的用户名和密码

登陆成功

五、最简单的SQL注入,XSS攻击测试

(1)登陆

在用户名这一栏输入' or 1=1

 

密码输入任意字符

输入的用户名和代码中select语句经过组合

select * from users where username=''or 1=1#' and password=''

其中1=1恒成立,#相当于注释符,会把后面的内容都注释掉,因此输入任意值都可以登陆成功

(2)xss攻击测试

在var/www/html目录下放置一张我的桌面图片

便于实验,修改图片名称为test.jpg

在用户名一栏输入<img src="test.jpg"

密码输入任意值

Login.php中的echo uname是从前端接收的用户名,因此当我们在用户名一栏输入此语句之后,会直接执行语句,并显示文件夹下的图片。

实践总结与体会

 通过本次实验,在Linux环境下,学习了基础php,HTML,MySQL等语句的使用方法,我认为老师上课说的很对,我们应该具有相应的模块化思维,将看起来复杂的问题分解成一个个小问题,并且逐一解决,对我今后的思考很有帮助。

Copyright © 2021 姜福花
Powered by .NET 5.0 on Kubernetes