20145304 Exp8 Web基础

20145304 Exp8 Web基础

实验后回答问题

(1)什么是表单
表单用于搜集不同类型的用户输入,由三个基本组成部分表单标签、表单域、表单按钮。表单提交有两种方法,分别是get和post,使用get时表单数据在页面地址栏中可见,使用post时,表单数据在页面地址栏中不可见。表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等;表单按钮可提供提交、复位等功能。

(2)浏览器可以解析运行什么语言。
HTML、XML、JSP、Python、Java、Script、JavaScript、VBScript、Perl等

(3)WebServer支持哪些动态语言
PHP、JSP等

实验总结与体会

此次实验使我们学会了自己如何编写一个登陆网站,其中涉及到了WEB前端、后端以及数据库的使用,以及简单的SQL注入攻击和XSS攻击。
通过自己实践,了解到了GET和POST的差别,不断地修改代码,排查错误,使自己对网络编程的部分有了较深的印象。

实践过程记录

Apache环境配置

1.上次实验apache使用的端口为80,此次实验将端口设置为8088

2.测试apache,用Kali的火狐浏览器打开网页时出现了闪退,不确定是谁的原因,用本机360打开网页成功,显示的是上次实验的伪装网页。

3.测试Apache是否可读取工作目录下的文件(我就敲了一个20145304,按ESC就多了好多)。

4.测试完成。

Web前端html

1.进入Apache工作目录,新建5304form.html
2.编写html
刚开始使用了汉字,出现了乱码

修改后

3.用浏览器访问该HTML文件

4.点击提交,默认使用的是GET,表单数据在页面地址栏中可见

5.修改代码,使用POST方法提交

6.表单数据在页面地址栏中不可见,因为应答页面未编写,所以无法访问。

Web前端javascipt

1.设置输入不能为空,js代码如下:

function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {alert(alerttxt);return false}
  else {return true}
  }
}

function validate_form(thisform)
{
with (thisform)
  {
  if (validate_required(grade,"grade must be filled out!")==false)
    {grade.focus();return false}
  else if (validate_required(number,"number must be filled out!")==false)
    {number.focus();return false}
  }
}

2.用浏览器访问测试

MySQL基础

1.开启sql服务

2.登录mysql

3.查看基本信息(注意命令后的封号!!)

4.建库、建表。

5.添加用户。

6.修改密码(补充,与下面的实验无关,看要求发现需要修改)

编写PHP网页,连接数据库,进行用户认证

PHP测试

1.在/var/www/html下新建一个.php文件。

2.用浏览器访问,成功。

正式实验

1.在/var/www/html下新建一个5304login.php文件,编写代码。

2.将前面使用过的5304form.html提交的网页改为5304login.php。

3.刚开始无法读取用户输入的数据,修改.html和.php的提交方式一致

4.登录认证成功。。

5.测试一个不存在的数据。

SQL注入

1.最简单的永真式``` ' or 1=1#````

2.修改代码,使其可通过SQL注入将班级和学号保存到数据库中,并进行登录。

XSS攻击

1.当图片格式为.png时,刚开始试,图片加载不出来,就换了.jpg格式,后来再试,就成功了。

2.当图片格式为.jpg时

原文地址:https://www.cnblogs.com/LLLLLLQL/p/6822318.html