GET | POST |
---|---|
可被缓存 | 不会被缓存 |
保留在浏览器历史记录中 | 不会保留在浏览器历史记录中 |
可被收藏为书签 | 不能被收藏为书签 |
对数据有长度限制 | 对数据没有长度限制 |
返回目录javascript
使用service apache2 start
命令可打开Apache服务。没有任何报错即为开启成功。
php
cd /var/www/html
进入Apache目录下,新建一个含有表单的html文件test.html
这里我参考了宏璐学姐的html,只要具备登陆界面就好啦。注意这个.html文件必定要放在Apache目录下。html
<html> <head> <title>一个很普通的登陆界面</title> <!-- Meta tag Keywords --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- Meta tag Keywords --> </head> <body bgcolor="#FFFCEC" topmargin="100" leftmargin="325"> <!-- main --> <!--//header--> <h2><font size=6>Login</font></h2> <form action="phptest.php" method="post" name="form_login" > <input placeholder="your name" name="Name" class="user" type="text" onfocus="if (this.value=='Your name') this.value='';" /> <br> </br> <input placeholder="your password" name="Password" class="pass" type="password" onfocus="if (this.value=='Your password') this.value='';"/> <br> </br> <input type="submit" value="嘤嘤嘤不要点我" onClick="return validateLogin()"/> </form> <!--//main--> </body> </html>
返回目录前端
<script language="javascript"> function validateLogin(){ var sUserName = document.form_login.Name.value ; var sPassword = document.form_login.Password.value ; if ((sUserName =="") || (sUserName=="Your name")){ alert("user name!"); return false ; } if ((sPassword =="") || (sPassword=="Your password")){ alert("password!"); return false ; } } </script>
再次进入网页,直接点击登陆键会提示输入用户名
java
若是没有输入密码的状况下点击登陆键会提示未输入密码
mysql
返回目录web
/etc/init.d/mysql start
输入mysql -u root -p
使用root权限进入,默认密码为主机root用户的密码
sql
查看基本信息:show databases;
数据库
use mysql;
(这里的mysql是上一步中查询到的数据库名称)select user, password, host from user;
(mysql库中的user表中存储着用户名、密码与权限)UPDATE user SET password=PASSWORD("新密码") WHERE user='root';
flush privileges;
quit;
create database wyj(数据库名称);
use wyj;
create table 表名 (字段设定列表);
(并设置字段基本信息)
查看表信息:show tables;
apache
insert into 表名 values('值1','值2','值3'...);
insert into user values('wyj','20165322');
查询表中的数据:select * from 表名;
grant select,insert,update,delete on 数据库.* to 用户名@登陆主机(能够是localhost,也能够是远程登陆方式的IP) identified by "密码";
grant select,insert,update,delete on wyj.* to wyj@localhost identified by "12345678";
增长新用户后,使用新的用户名和密码进行登陆:mysql -u wyj -p
登录成功
phptest.php
<?php echo ($_GET["a"]); include($_GET["a"]); echo "This is my php test page!<br>"; ?>
在浏览器网址栏中输入localhost:80/phptest.php?a=/etc/passwd
,可看到/etc/passwd文件的内容
<?php $uname=$_POST["Name"]; $pwd=$_POST["Password"]; echo $uname; $query_str="SELECT * FROM user where Name='$uname' and Password='$pwd';"; $mysqli = new mysqli("127.0.0.1", "wyj", "12345678", "wyj"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } echo " connection ok!"; /* Select queries return a resultset */ if ($result = $mysqli->query($query_str)) { if ($result->num_rows > 0 ){ echo "<br> {$uname}:Welcome login!! <br> "; } else { echo "<br> login failed!!!! <br> " ; } /* free result set */ $result->close(); } $mysqli->close(); ?>
关于$mysqli = new mysqli("127.0.0.1", "wyj", "12345678", "wyj");
//第一个wyj是新建的用户名,12345678是新建用户密码,第二个wyj是数据库的名称
select * from users where username='' or 1=1#' and password=''
。解读一下这个代码,#至关于注释符,即这个代码至关于1=1时,就能跳转登陆成功页面。127.0.0.1/test.html
访问本身的登陆界面' or 1=1#
,密码任意输入,可登陆成功127.0.0.1/test.html
访问本身的登陆界面<img src="1.jpg" />
,密码随意输入,就能够读取到图片(1)什么是表单
(2)浏览器能够解析运行什么语言。
(3)WebServer支持哪些动态语言
本次实验我复习了之前学习过的html网页代码和JavaScript编程,同时了解到了利用SQL和XSS的攻击手段,咱们在编写后台代码的时候,必定要对数据进行一些处理而不是直接显示,也要除去一些特殊语句对数据库的攻击,才能保证网页的安全。