3.php开发-个人博客项目输入输出类留言板访问IPUA头来源

目录

知识点 :

输入输出

配置环境时:

搜索框:

留言板:

留言板的显示(html):

php代码显示提交的留言:

写入数据库

对留言内容进行显示:

php全局变量-$_SERVER

检测来源

墨者-来源页 伪造

墨者-ip地址伪造



知识点 :

1、PHP-全局变量$_SERVER

2、MYSQL-插入语法INSERT

3、输入输出+xss&反射&存储

4、安全问题-xss跨站&CSRF等


输入输出

输入的东西能在网站上显示。

配置环境时:

数据库的文件要写对账号密码,指定一个库。(conn.php)

php代码输出的时候要指定sql语句,和表里的字段。

搜索框:

——搜索功能,

搜索框的编写,(表单)

<form id="form1" action="" method="post"><label for="search">内容搜索:</label><input type="search" name="search" id="search"><input type="submit" name="submit" id="submit" value="提交">
</form>

php实现搜索数据的显示:

<?php
include('config/conn.php');
$s=$_POST['search'];
$sql="select * from staff where name like '%$s%'";
$result=mysql_query($sql,$conn);
echo '你搜索的'."'$s'".'结果如下:';
while($row=mysql_fetch_array($result)){echo '<br><br><hr>';echo $row['number'].'<br>';echo $row['name'].'<br>';echo $row['post'].'<br>';
}
?>

——输入输出的关键字,--->xss

留言板:

——留言内容在数据库里面
​
——加载前面的前面的内容
​
——可以提交留言
​
——提交留言之后会再加载
留言板的显示(html):
留言:
<form id="form1" name="form1" method="post"><p><label for="textfield">ID:</label><input type="text" name="id" id="textfield">//</p><p><label for="textfield2">昵称:</label><input type="text" name="name" id="textfield2"></p><p><label for="textfield3">QQ:</label><input type="text" name="qq" id="textfield3"></p><p><label for="textarea">内容:</label><textarea name="content" id="content"></textarea></p><p><input type="submit" name="submit" id="submit" value="提交"></p>
</form>
<p>
php代码显示提交的留言:

接受提交内容,并显示

<p>留言内容:</p>
<?php
header("Content-type: text/html; charset=utf-8");
include('config/conn.php');
​
$i=@$_POST['id'];
$n=@$_POST['name'];
$q=@$_POST['qq'];
$c=@$_POST['content'];
​
echo $i,$n,$q,$c.'<hr>';
写入数据库

——包含数据库文件(conn.php)

——插入数据

--根据导出的sql脚本文件---写sql语句

写入数据库:

if(!empty($i)){$sql="INSERT INTO `test001` VALUES ('$i', '$n', '$q', '$c');";mysql_query($sql,$conn);
}

对留言内容进行显示:

$sql1='select * from test001';
$result=mysql_query($sql1,$conn);
while($row=mysql_fetch_array($result)){echo '<br>';echo 'ID:'.$row['id'].'<br>';echo '昵称:'.$row['name'].'<br>';echo 'QQ:'.$row['qq'].'<br>';echo '内容:'.$row['content'].'<br>';
}

php全局变量-$_SERVER

——显示ip地址,归属地。。。

$_SERVER

--通过UA判断设备

搜: PHP $_SERVER

PHP中$_SERVER的详细用法:

PHP中$_SERVER的详细用法_$_server['http_accept_language']-CSDN博客

——获取IP地址,防代理

function getIp()
{if ($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) {$ip = $_SERVER["HTTP_CLIENT_IP"];} else {if ($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")) {$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];} else {if ($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")) {$ip = $_SERVER["REMOTE_ADDR"];} else {if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],"unknown")) {$ip = $_SERVER['REMOTE_ADDR'];} else {$ip = "unknown";}}}}return ($ip);
}
​
echo getIp()."<br>";

——站长那查ip时,回显的系统,会看到我的信息,说明他接收了,这时候就把UA头换成js语句,看是否存在洞洞。

--功能越多,洞洞越多。

检测来源

$referer=$_SERVER['HTTP_REFERER'];
$ua=$_SERVER['HTTP_USER_AGENT'];
​
echo $referer."<br>";
echo $ua."<br>";

喜欢吃西瓜~

同源策略:同一ip发送的请求。

墨者-来源页 伪造

--禁止访问,当前页面只允许从谷歌访问

——直接访问属于你没有来源,(空的)从哪里来的!!

改一下来源就好了。

————主要防CSRF攻击,

墨者-ip地址伪造

--人家获取你的ip:做个统计,过滤攻击(自省的来,同乡好啊)。

$_SERVER["HTTP_X_FORWARDED_FOR"]    接收

ip地址换成 127.0.0.1 -->本地,服务器自己。。。

——服务器ip限制,

——其它协议限制:

http协议,

tcp协议(计算机本身)--伪造不了

————网站上的ip检测,可能绕过;服务器自身的协议检测,伪造不了,GG。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMEYA360:航顺HK32AUTO39A—适用车载娱乐系统优化方案

车载娱乐系统&#xff0c;顾名思义最开始其功能主要是为驾驶员和乘客提供娱乐体验&#xff0c;但现在智能座舱时代到来&#xff0c;车载信息娱乐系统已成为“人-车-环境”交互的重要载体&#xff0c;是除了驾驶以外的其他任务的中心。 从功能模块上看&#xff0c;车载娱乐系统从…

【算法练习Day50】下一个更大元素II接雨水

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 下一个更大元素II接雨水单调…

9.4 Lambda表达式

9.4 Lambda表达式 1 Lambda语法2. 基于Lambda实现函数式编程3. Stream流式处理 1 Lambda语法 2. 基于Lambda实现函数式编程 3. Stream流式处理

【网站项目】基于SSM的273校园二手交易网站

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

cesium实现动态围栏

项目中使用到了cesium,需要实现动态的围栏的效果&#xff0c; 在网上也找了好多案例&#xff0c;通过着色器来实现效果&#xff0c;为此也有好多博主也附上了自己的代码&#xff0c;也许是因为使用方法不同&#xff0c;复制代码并修改依旧还是没有通过他们的方式实现效果【着色…

STM32标准库开发——PWM驱动代码

PWM驱动初始化代码 使能定时器二时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);设置定时器时钟源 TIM_InternalClockConfig(TIM2);配置定时器二的时基单元 TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_TimeBaseInitStruct.TIM_ClockDivisionTIM_CKD_D…

vmware 安装Rocky-9.3系统

安装系统截图 安装完成&#xff0c;启动 查看版本和内核 开启远程登陆授权 1、编辑配置文件 #提升权限&#xff0c;输入su,并输入密码 su #编辑ssh文件开启root远程登陆 vi /etc/ssh/sshd_config找到以下内容&#xff1a;#PermitRootLogin prohibit-password 添加&#xff1a…

C语言——小细节和小知识11

一、自幂数 1、介绍 自幂数&#xff0c;也被称为阿姆斯特朗数&#xff0c;是一种特殊类型的数&#xff0c;在数学上具有一个有趣的性质&#xff1a;一个 n 位的正整数&#xff0c;其各个位上的数字的 n 次幂之和等于它本身。 这里是自幂数的定义步骤&#xff1a; 确定位数 (…

Windows ssh登录eNSP交换机

目录 1. Cloud IO配置1.1 创建UDP端口1.2 创建本地连接1.3 端口映射设置 2. 交换机配置2.1 配置vlanif2.2 配置vty2.3 配置ssh用户2.4 配置aaa2.5 使用Xshell工具登录2.6 用户和密码2.7 登录成功 3. 使用cmd 登录报错提示3.1 手动指定加密算法&#xff0c;提示密码长度无效3.2 …

Softmax函数介绍

Softmax函数是一种常用的激活函数&#xff0c;用于将一组实数值转换为概率分布。它常用于多类别分类问题中&#xff0c;将输入向量映射为各个类别的概率。 Softmax函数的公式如下&#xff1a; 其中&#xff0c;示输入向量的第 &#xfffd;i 个元素&#xff0c;&#xfffd;n …

【JVM】JVM概述

JVM概述 基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;即 Java 虚拟机&#xff0c;一种规范&#xff0c;本身是一个虚拟计算机&#xff0c;直接和操作系统进行交互&#xff0c;与硬件不直接交互&#xff0c;而操作系统可以帮我们完成和硬件进行交互的工作特…

红队渗透靶机:TOPPO: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb 5、dirsearch WEB tips1 tips2 SSH登录 提权 系统信息收集 本地 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:69:c7:bf, IPv4: 192.168.110…

Linux第33步_TF-A移植的第1步_创建新的设备树

TF-A移植第1步就是创建新的设备树&#xff0c;并命名为“stm32mp157d-atk”。 和“TF-A移植”有关的知识点&#xff1a; 1)设备树英文名字叫做Device tree&#xff0c;用来描述板子硬件信息的&#xff0c;比如开发板上的 CPU有几个核 、每个CPU核主频是多少&#xff0c;IIC、…

单元测试、模块测试、web接口测试

单元测试与模块测试 什么是“单元测试”、“模块测试”&#xff1f; 然而在功能的实现代码中并没有“单元”&#xff0c;也没有“模块”&#xff1b;只有函数、类和方法。先来分别看看它们 的定义&#xff1a; 单元测试&#xff08;Unit testing&#xff09;&#xff0c;是指…

代码随想录算法训练营第三天 | 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表

链表理论基础 链表是一种通过指针串连在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域&#xff0c;一个是指针域&#xff08;存放指向下一个节点的指针&#xff09;。最后一个节点的指针指向 null。链表的存储方式&#xff1a;数组在内存中是连续…

带POE网络变压器与2.5G/5G/10G网络变压器产品特点介绍

Hqst华轩盛(石门盈盛)电子导读&#xff1a;一起来了解带POE网络变压器与2.5G/5G/10G网络变压器产品特点&#xff1f; 一﹑带POE网络变压器与2.5G/5G/10G网络变压器产品特点介绍 首先、POE网络变压器产品与常规不带POE产品的区别&#xff1a; 带POE网络变压器主要要求是耐电流等…

(二)CarPlay集成开发之苹果的iAP协议

文章目录 概要协议格式鉴权流程CarPlay中的iAP2协议应用小结 概要 iAP2协议是由苹果公司定义的一种数据通信协议&#xff0c;主要用于苹果设备认证外设&#xff0c;以及与外设数据交换的一种协议 协议格式 协议格式一共分为三种类型&#xff0c;分别为握手包&#xff0c;链路…

42.接雨水 - 力扣(LeetCode)

问题描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。输入格式 height [0,1,0,2,1,0,1,3,2,1,2,1]输出格式 6解释 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图&#xff0c;在这种情况下…

「优选算法刷题」:查找总价格为目标值的两个商品

一、题目 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况&#xff0c;返回任一结果即可。 示例 1&#xff1a; 输入&#xff1a;price [3, 9, 12, 15], target 18 输出&#xff1a;[3,15] 或者 [15,3]示例…

初始RabbitMQ(入门篇)

消息队列(MQ) 本质上就是一个队列,一个先进先出的队列,队列中存放的内容是message(消息),是一种跨进程的通信机制,用于上下游传递消息, 为什么使用MQ: 削峰填谷: MQ可以很好的做一个缓冲机制,例如在一个系统中有A和B两个应用,A是接收用户的请求的,然后A调用B进行处理. 这时…