zoukankan      html  css  js  c++  java
  • 20145312袁心《网络对抗》Web基础实践

    20145312袁心《网络对抗》Web基础实践

    问题回答

    1.什么是表单:

    • 表单在网页中主要负责数据采集功能。
    • 一个表单有三个基本组成部分:
      表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
      表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
      表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

    2.浏览器可以解析运行什么语言:

    • 超文本标记语言:HTML
    • 可扩展标记语言:XML
    • 脚本语言:ASP、PHP、Script、JavaScript

    3.WebServer支持哪些动态语言:

    • ASP语言,PHP语言和JSP语言

    实验总结

    • 这次实验让我了解了编写网页的流程,实践内容丰富有一定的难度,并且有很强的实用性,虽然现在我只能实现网页的简单功能,但只要认真摸索,我一定能实现一个界面友好,功能强大的网页。

    实验过程

    环境配置

    • 通过apachectl start开启Apach,使用netstat -aptn查看端口占用:在这里apach2占用端口5312

    • 测试apache是否正常工作:在kali的火狐浏览器上输入localhost:5312(打开的是上一个实验伪装的Google登录网页)

    网页编写

    • 在Apache工作目录/var/www/html新建一个20145312.html文件,编写一个含有表单的html

    • 打开浏览器访问:localhost:5312/20145312.html,成功出现如下界面

    • 点击Submit,数据会传送到 "html_form_action.php" 的页面,由于没有对此页面进行编辑,出现404 Not Found

    PHP测试

    • 新建一个PHP测试文件vi /var/www/html/test.php,用浏览器打开localhost:5312/test.pgp,可以看见如下界面,测试成功

    MySQL基础

    • 开启sql服务/etc/init.d/mysql start

    • 输入mysql -u root –p,并根据提示输入密码,默认密码为p@ssw0rd,进入MySQL

    • 在Mysql中建库建表

    • 向数据库添加一条新纪录

    实现登录网页编写

    • 在/var/www/html文件夹下输入vim 5312login.html,编写登录网页

    • 在同样的目录下输入vim login.php,通过php实现对数据库的连接

    • 在火狐浏览器中输入localhost:5312/5312login.html,就可以访问自己的登陆页面

    • 在登录页面中输入数据库中存有的用户名和密码并点击提交进行用户认证登录成功,输入数据库中没有的就会认证失败

    SQL注入

    • SQL注入的产生原因通常是将用户输入的字符串,当成了 “sql语句” 来执行,通过SQL注入将用户名和密码保存在数据库中:';insert into users(userid,username,password,enabled) values(5,'yuanxin',password("yuanxin"),"TRUE");#

    • 此时在登录页面输入用户名yuanxin密码yuanxin,成功

    XSS攻击(跨站脚本攻击)

    • 输入<img src="5312.jpg" />haha</a>先进行简单的测试

    • 点击登录就会出现图片5312.jpg的超链接

    会话管理实践

    • 建立一个利用cookie统计登录次数的页面session.html进行简单的测试:

    • 通过使用cookie保存信息,实现登录页面不需再次登陆的功能,如果想要退出登录,点击log out即可

    登陆发帖功能

    • 登陆成功

    • 点击start a new post发帖,进入如下界面

    • 提交之后跳转到如下界面,可以选择查看发过的帖子、继续发帖、返回或者退出登录

  • 相关阅读:
    严蔚敏数据结构习题3.14
    Effective C++ Item 34 Differentiate between inheritance of interface and inheritance of implementation
    Effective C++ Item 33 Avoid hiding inherited names
    Effective C++ Item 19 Treat class design as type design
    Effective C++ Item 18 Make interfaces easy to use correctly and hard to use incorrectly
    Effective C++ Item 17 Store newed objects in smart pointer in standalone statements
    Effective C++ Item 16 Use the same form in corresponding uses of new and delete
    Effective C++ Item 15 Provide access to raw resources in resource-managing classes
    Effective C++ Item 14 Think carefully about copying behavior in resource-managing classe
    Effective C++ Item 13 Use object to manage resources
  • 原文地址:https://www.cnblogs.com/yx20145312/p/6819069.html
Copyright © 2011-2022 走看看