小迪安全18day

安全开发-PHP 应用&留言板功能&超全局变量&数据库操作&第三方插件引用

安全开发这一板块小迪会带着走一遍开发的流程
演示案例:
数据导入-mysql 架构&库表列
数据库操作-mysqli 函数&增删改查
数据接收输出-html混编&超全局变量
第三方插件引用-js传参&函数对象调用
可以查看这篇文章,写的非常详细,写了部分语法的东西https://blog.csdn.net/wushangyu32335/article/details/135783700

开发内容蛮多的,需要用到的是phpstorm、phpstudy、Navicat

打开phpstdy,开启中间件和数据库服务,然后打开navicat连接数据库,如果数据库出现无法开启的情况多半是端口被占用,换一个端口就可以了。然后在navicat中新建数据库和表。

PHPStorm项目开始的设置

打开PHPStorm,创建新项目,并把位置放在phpstudy相关文件目下
../phpstudy_pro/WWW/dome01(在WWW下创建demo01文件,不要直接指向WWW文件)
再创建新文件gbook.php
配置PHP解释器,点击文件->设置->PHP->解释器->在PHP可执行文件处选择解释器路径../php.exe

gbook-admin.php

<?php
include '../config.php';
$sql1="select * from gbook";
$data=mysqli_query($con,$sql1);
while($row=mysqli_fetch_row($data)){
    echo '<hr>';
    echo '用户名:'.$row[0].'<br>';
    echo '内容'.$row[1].'<br>';
    echo 'IP地址:' . $row[2] . '<br>';
    echo 'UA浏览器:' . $row[3] . '<br>';
    echo "<a href='gbook-admin.php?del=$row[0]'>删除</a>";
}
$delstr=@$_GET['del'];
if(isset($delstr)){
    $sql2="delete from gbook where username='$delstr';";
    if(mysqli_query($con,$sql2)){
        echo "<script>alert('删除成功');</script>')";
    }
}


config.php

<?php
$dbip='localhost';
$dbuser='root';
$dbpass='root';
$dbname='demo01';
$con=mysqli_connect($dbip,$dbuser,$dbpass,$dbname,3307);

gbook.php

<form id="form1" name="form1" method="post" action="">
<p>
用户名:<input type="text" name="username">
</p>
<p>
内容:
</p>
<p>
<textarea name="content"></textarea>;
</p>
<input type="submit" name="submit" id="submit" value="提交">
</form>

<?php

//数据库通讯,在连接函数中,默认端口为3306,若和我使用的端口号为3307的数据库,则需要多加入一个参数
include 'config.php';
/*检验报错的语句
if (!$con)
{
die("连接错误: " . mysqli_connect_error());
}else{
echo'ok';
}
?>
*/
//页面出现报错就在$_post前加@容错符,原因是检测到我们内容为空所以会报错
//if语句对用户名是否输入进行判断,未输入就不会执行添加进数据库操作
$u=@$_POST['username'];
if(!empty($u)){
$c=@$_POST['content'];
$i=@$_SERVER['REMOTE_ADDR'];
$ua=@$_SERVER['HTTP_USER_AGENT'];
$sql="insert into gbook(`username`,`content`,`ipaddr`,`uagent`) values('$u','$c','$i','$ua');";
mysqli_query($con,$sql);
if(mysqli_query($con,$sql)){
echo "<script>alert('留言成功');</script>";
$sql1="select * from gbook";
$data=mysqli_query($con,$sql1);
while($row=mysqli_fetch_row($data)){
echo '<hr>';
echo '用户名:'.$row[0].'<br>';
echo '内容'.$row[1].'<br>';
}
}else {
echo "<script>alert('留言失败');</script>";
}
}else {
echo "<script>alert('用户名不能为空');</script>";
}

后续小迪还有其他操作,比如定义函数,还有加入第三方插件,这里我并没有写出来

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇