博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
exp8 web基础
阅读量:4709 次
发布时间:2019-06-10

本文共 3198 字,大约阅读时间需要 10 分钟。

---恢复内容开始---

什么是表单?

  1、表单对于用户而言是数据的录入和提交的界面;   2、表单对于网站而言获取用户信息的途径。   表单实质由2部分组成:   1、存储表单控件的网页文件;   2、处理表单提交数据的处理程序,该程序在服务器上运行

浏览器可以解析运行什么语言?

浏览器只能处理HTML/CSS,对于,会调用引擎来处理,浏览器本身不处理程序代码. PHP是一种嵌入HTML的编程语言 的意思是说PHP可以和HTML混写在一起,解释器会将包含在特定标签(如
等)中的PHP代码与分离开,将PHP代码加以执行,并将执行结果替换掉原代码位置的内容, 形成最终的HTML文档.PHP的是在进行的,并不是在浏览器端执行的,浏览器最终接收到的只有HTML/CSS/JS等内容.

WebServer支持哪些动态语言?

支持JavaScript、ASP、PHP等脚本语言

 Webserver能够解析HTTP协议。当Webserver接收到一个HTTP请求,会返回一个HTTP响应,比如送回一个HTML页面。为了处理一个请求Webserver能够响应一个静态页面或图片,进行页面跳转或者把动态响应的产生托付给一些其他的程序比如CGI脚本,JSP脚本,servlets,ASP脚本,server端JavaScript,或者一些其他的server端技术。不管它们(译者注:脚本)的目的怎样,这些server端的程序通常产生一个HTML的响应来让浏览器能够浏览。 

1.环境配置

安装Apache

apt-get install apache2 配置apache的端口

netstat -aptn

Web前端:js编程

    
test
name:
password:
reload

  

 

web后端编程:

数据库:MySQL基础

  • 为了能够储存用户名密码,我们需要建立一个账号数据库。

/etc/init.d/mysql start

打开Kali的mysql服务

mysql -u root -p

登录mysqlMariaDB [(none)]> use mysql Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedMariaDB [mysql]> update user set password=PASSWORD(" toor ") where user='root'MariaDB [mysql]> flush privileges;Query OK, 0 rows affected (0.00 sec)MariaDB [mysql]> quit

  

设置mysqlMariaDB [mysql]> create database exp8_login_db;//创建一个数据库Query OK, 1 row affected (0.01 sec)MariaDB [mysql]> use exp8_login_db;Database changedMariaDB [exp8_login_db]> create table exp8_login_table (login_username VARCHAR(20),login_pwd VARCHAR(20));Query OK, 0 rows affected (0.04 sec)//创建一个数据表并设置字段MariaDB [exp8_login_db]> show tables;

  

Web后台:

PHP基础有了前端页面,数据库之后,我们需要用PHP语言写一个后台,用以处理接受到的前端数据,并链接数据库,比对前端接受的账号密码与数据库中是否匹配。

$uname
"; echo "
$pwd
";$query_str="SELECT * FROM exp8_login_table where login_username='{$uname}' and login_pwd='{$pwd}';";$con = mysql_connect("localhost:1120","root","toor");if (!$con) { die('Could not connect: ' . mysql_error()); }echo "connect ok!";mysql_select_db("exp8_login_db", $con);/* Select queries return a resultset */if ($result = mysql_query($query_str)) { if ($result->num_rows > 0 ){ echo "
Wellcome login Mr/Mrs:{$uname}
"; } else { echo "
login failed!!!!
" ; } /* free result set */ $result->close();}mysql_close($con);?>

 

SQL注入:

通过sql注入绕过密码验证,

只需要将

SELECT * FROM exp8_login_table where login_username='{$uname}' and login_pwd='{$pwd}';";
变成
SELECT * FROM exp8_login_table where login_username='' or 1=1;#' and login_pwd='{$pwd}';";
这样随便用户名都可以绕过密码验证

XSS

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知

实验体会:

web知识贼差,虽然之前自学过 html5+css3但是对于加上后端与数据库来讲,知识不够用。。。。。就这样吧。

转载于:https://www.cnblogs.com/x-x-m-m/p/9131149.html

你可能感兴趣的文章
[THUPC2019]过河卒二(组合数学,容斥原理)
查看>>
238. Product of Array Except Self
查看>>
多线程技术交流提纲
查看>>
Java工程师必备书单
查看>>
InnoDB一定会在索引中加上主键吗
查看>>
Scala-字符串操作
查看>>
转一篇《计算机的潜意识》的文章
查看>>
[原] 蒙古文网站汇聚地
查看>>
不平衡学习 Learning from Imbalanced Data
查看>>
2014那些事之跳槽思考
查看>>
Java作业八(2017-10-30)
查看>>
iso移动Safari页面缓存
查看>>
visual studio code 配置python环境方法,不断更新中......
查看>>
base64文件上传的问题
查看>>
2018-2019赛季最后的随想/$\rm{NOIP2018}$游记·启示录
查看>>
事物回滚成功,但是数据表新插入的数据没有变化
查看>>
手机前端开发调试利器-vConsole
查看>>
Struts2基础知识(三)
查看>>
java 学习
查看>>
AJAX 方式
查看>>