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。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1.11马原总复习PART2

社会一定发展阶段 &#xff0c;生产力&#xff0c;生产关系总和 一定经济基础之上的意识形态&#xff0c;制度、组织和设施 普遍联系的根本内容和变化发展的内在动力 唯物辩证法的实质和核心 贯穿其他规律的中心线索 提供了根本方法矛盾分析法 价值由社会必要劳动时间决定…

安装ddddocr中遇到的问题

1、需要先安装&#xff1a; pip3 install pyinstaller --no-use-pep517 pip install scikit-build pip install setuptools pip install pyinstaller pip install pillow 重要是的是保证一个python 环境&#xff0c;多个python环境会导致各种问题。并且保证python>3.8…

LTC2944库仑计(电量计)芯片应用笔记(Arduino,ESP32)

一、一些基础知识 1.蓄电池的容量单位 &#xff08;1&#xff09;毫安时mAH 蓄电池的容量一般会采用毫安时&#xff08;mAH&#xff09;为单位&#xff0c;比如2000mAH的蓄电池意思是该蓄电池理论上可以以2000mA的电流持续放电1小时&#xff0c;2000mA*1H2000mAH。当然这个是…

C++从小白到初级工程师【个人学习笔记】

目录 1.背景2.基础二维数组概念二维数组定义方式 二维数组数组名称概念例子 函数的分文件编写概念示例 指针指针的基本概念指针变量的定义和使用 空指针和野指针空指针实例野指针实例 const修饰指针概念const修饰指针 --- 常量指针 指针和数组作用示例 指针和函数作用示例 指针…

代码随想录 Leetcode150. 逆波兰表达式求值

题目&#xff1a; 代码(首刷看解析 2024年1月21日&#xff09;&#xff1a; class Solution { public:int evalRPN(vector<string>& tokens) {stack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" || tokens[i] &qu…

雍禾医疗获“年度医疗大健康消费企业”奖项 雍禾植发品牌深入人心

不久前&#xff0c;在钛媒体2023 T-EDGE全球创新大会上&#xff0c;钛媒体重磅发布了2023 EDGE AWARDS全球创新评选榜单。希望一起透过这些推动行业变革的公司、个人和产品&#xff0c;全面展现2023的产业格局。 “植发第一股”雍禾医疗荣获“年度医疗大健康消费企业”奖项。雍…

Unity 编辑器篇|(十二)自定义编辑器窗体(EditorWindow,ScriptableWizard) (全面总结 | 建议收藏)

目录 1. 前言2. 创建自定义窗体&#xff1a;EditorWindow2.1 参数总览2.2 EditorWindow的生命周期2.3 区别&#xff1a;CreateWindow()&#xff0c;GetWindow() &#xff0c;GetWindowWithRect()2.4 代码示例 3. 创建对话框窗体&#xff1a;ScriptableWizard3.1 参数总览3.2 区…

Java并发基础:Executor接口和Executors类的区别

Executor是Java中的一个接口&#xff0c;它定义了一种将任务提交与任务执行机制&#xff08;包括线程管理、调度等&#xff09;分离的方式&#xff0c;Executors是一个工具类&#xff0c;它提供了多个静态工厂方法&#xff0c;用于创建不同类型的Executor实例。 代码案例 下面…

Camera基础原理与畸变补偿

Camera基础原理与畸变补偿 Camera知识大盘点 Camera的构成看起来并不复杂&#xff0c;核心是镜头感光芯片&#xff0c;以及其它辅助部件。但大家也都知道光学成像是一门非常深奥且尖端的科学&#xff0c;这其中消费者可以拿来讨论的话题非常之多。现在就来谈谈摄像头&#xf…

php目录操作示例

目录 1.常用函数 2.列举当前目录列表 3.判断是否是文件夹 1.常用函数 函数名功能scandir 列出指定路径中的文件和目录 opendir 打开文件夹&#xff0c;返回操作资源 readdir读取文件夹资源closedir 关闭文件夹操作资源 is_dir 判断是否是文件夹 filetype 显示是文件夹还是文…

若依微服务框架,富文本加入图片保存时出现JSON parse error: Unexpected character (‘/‘ (code 47)):...

若依微服务框架&#xff0c;富文本加入图片保存时出现JSON parse error: Unexpected character 一、问题二、解决1.修改网关配置2、对数据进行加密解密2.1安装插件2.2vue页面加密使用2.3后台解密存储 一、问题 若依微服务项目在使用富文本框的时候&#xff0c;富文本加入图片进…

IDEA(十)2022版本 Services中服务窗口不显示端口号解决

目录 一、问题描述二、问题分析三、解决方案3.1 设置启动参数【生效】3.2 方法二&#xff1a;设置环境变量【不生效】3.3 方法三&#xff1a;删除缓存【不生效】 四、补充&#xff1a;如何手动控制端口显示 一、问题描述 我们在使用 IDEA 的过程中&#xff0c;会发现在 Servic…

详解C语言中`||`的短路机制

在C语言中&#xff0c;逻辑或运算符&#xff08;||&#xff09;是一种常用的逻辑运算符&#xff0c;用于组合多个条件表达式。与其他编程语言一样&#xff0c;C语言中的逻辑或运算符具有短路机制&#xff0c;这是一种非常重要的概念&#xff0c;本文将深入解释C语言中的||短路机…

如何在ubuntu22.04安装ROS2

ubuntu22.04安装ROS2 教程 选择对应版本进行安装设置编码添加源安装ROS2设置环境变量 运行ROS2 选择对应版本 通过官方网站&#xff0c;查询Ubuntu与ros对应的版本&#xff0c;版本不一致也会出现安装不成功。 https://wiki.ros.org/ROS/Installation 每一个都可以进行点击&a…

使用Dockerfile来构建服务的镜像,并部署在容器中

构建服务镜像和容器化部署 一、构建服务镜像1、编写Dockerfile2、构建脚本3、启动脚本 二、问题及解决办法1、no main manifest attribute, in /chatgpt-api-1.0-SNAPSHOT.jar2、如果是SpringBoot项目&#xff0c;应该这么做&#xff1a; 一、构建服务镜像 1、编写Dockerfile …

接口测试 03 -- 接口自动化思维 Requests库应用

1. 接口自动化思维梳理 1.1接口自动化的优点 接口测试自动化&#xff0c;简单来讲就是功能测试用例脚本化然后执行脚本&#xff0c;产生一份可视化测试报告。不管什么样的测试方式&#xff0c;都是为了验证功能与发现 BUG。那为什么要做接口测试自动化呢&#xff1f;一句话概括…

城市道路智慧养护顶层设计建议书

项目通过对国家在推动智慧交通领域的健康发展上发布的如&#xff1a;《交通强国建设纲要》、《推进综合交通运输大数据发展行动纲要(2020-2025年)》、《数字交通发展规划纲要》等相关政策的深入理解与研究&#xff0c;结合“互联网”、“智能化”、“智慧化”等理念,对国家提出…

Mybatis 动态SQL(set)

我们先用XML的方式实现 : 把 id 为 13 的那一行的 username 改为 ip 创建一个接口 UserInfo2Mapper ,然后在接口中声明该方法 package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.model.UserInfo; import org.apache.ibatis.annotations.*; import jav…

GD32接收不定长数据包

接收不定长数据 Cubemx生成代码过程忽略 首先在main函数中创建接收缓存区 并在main.h中定义 接下来就是重写串口的中断函数中的内容&#xff0c;把原有内容注释掉 main中创建一个记录接收数据长度的变量和标志位 然后再在主函数中添加一个验证代码&#xff0c;这样MCU收到数据…

QT第六天

要求&#xff1a;使用QT绘图&#xff0c;完成仪表盘绘制&#xff0c;如下图。 素材 运行效果&#xff1a; 代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPainter> #include <QPen>QT_BEGIN_NAMESPACE name…