web安全学习笔记(7)

记一下第十一节课的内容。

这节课主要学习post传参和js弹窗与跳转

一、post传参

1.简单的post传参介绍

将index.php重命名为login.php,并将login.html从template文件夹下拿到根目录下,并删除template目录。

将login.html中内容改为如下所示:

将method="post"之后,就代表使用post传参

我们可以在浏览器中重新进行登录,然后通过F12进行查看post的数据包(就是这个login.php)

2.状态码的基础知识

①200:代表成功加载或者访问到某个资源文件

②500:代表服务端出现某种错误导致无法访问

③404:代表服务端不存在某个文件或者目录

④403:代表无权限访问服务端中的某个文件或者目录

⑤301:代表永久性跳转到某个URL地址

⑥302:代表临时性跳转到某个URL地址

⑦502:代表上游服务端无法访问

3.进行前端和后端的互动

将login.php中内容改为如下内容:

<?php#用户名$username = $_POST['username'];#密码$password = $_POST['password'];#判断用户名与密码不正确则输出失败if ($username != 'admin' || $password != '123456') {die('登录失败!'); } echo '登录成功!';
?>

再进行登录,就会出现对应的情况:

二、JavaScript

在html文件中,使用如下格式标志我们此时使用了JS语言:

<script>js语句内容</script>

在JS中,使用alert函数实现弹窗功能,我们将login.php改为如下内容(只将die括号内的内容进行了改动):

<?php#用户名$username = $_POST['username'];#密码$password = $_POST['password'];#判断用户名与密码不正确则输出失败if ($username != 'admin' || $password != '123456') {die('<script>alert("登录失败!")</script>'); } echo '登录成功!';
?>

在JS中,使用location.href实现网址的跳转功能,我们可以通过这样的方式,实现如果登录失败,则不进行跳转,回到原来的网页的功能。我们将die函数中的内容改为如下内容:

die('<script>alert("登录失败!");location.href = "./login.html"</script>'); 

然后进行登录,如果登录失败,则会跳回登录页面:

点击登录,会弹窗提示登录失败:

然后会跳回原来的登录界面:

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

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

相关文章

Ubuntu下TexStudio如何兼容中文

怎么就想起来研究一下这个&#xff1f; 我使用大名鼎鼎的3Blue1Brown数学动画引擎Manim&#xff0c;制作了一个特别小的动画视频克里金插值。在视频中&#xff0c;绘制文字时&#xff0c;Manim使用到了texlive texlive-latex-extra这些库。专业的关系&#xff0c;当年的毕设没…

一个更难破解的加密算法 Bcrypt

BCrypt是由Niels Provos和David Mazires设计的密码哈希函数&#xff0c;他是基于Blowfish密码而来的&#xff0c;并于1999年在USENIX上提出。 除了加盐来抵御rainbow table 攻击之外&#xff0c;bcrypt的一个非常重要的特征就是自适应性&#xff0c;可以保证加密的速度在一个特…

linux学习:gcc编译

编译.c gcc hello.c -o hello 用gcc 这个工具编译 hello.c&#xff0c;并且使之生成一个二进制文件 hello。 其中 –o 的意义是 output&#xff0c;指明要生成的文件的名称&#xff0c;如果不写 –o hello 的话会生成默 认的一个 a.out 文件 获得 C 源程序经过预处理之后的文…

书生·浦语训练营二期第三次笔记-茴香豆:搭建你的 RAG 智能助理

RAG学习文档1&#xff1a; https://paragshah.medium.com/unlock-the-power-of-your-knowledge-base-with-openai-gpt-apis-db9a1138cac4 RAG学习文档2: https://blog.demir.io/hands-on-with-rag-step-by-step-guide-to-integrating-retrieval-augmented-generation-in-llms-a…

C#/.NET/.NET Core推荐学习书籍(24年4月更新,已分类)

前言 古人云&#xff1a;“书中自有黄金屋&#xff0c;书中自有颜如玉”&#xff0c;说明了书籍的重要性。作为程序员&#xff0c;我们需要不断学习以提升自己的核心竞争力。以下是一些优秀的C#/.NET/.NET Core相关学习书籍&#xff08;包含了C#、.NET、.NET Core、Linq、EF/E…

云原生安全当前的挑战与解决办法

云原生安全作为一种新兴的安全理念&#xff0c;不仅解决云计算普及带来的安全问题&#xff0c;更强调以原生的思维构建云上安全建设、部署与应用&#xff0c;推动安全与云计算深度融合。所以现在云原生安全在云安全领域越来受到重视&#xff0c;云安全厂商在这块的投入也是越来…

34-4 CSRF漏洞 - CSRF跨站点请求伪造

一、漏洞定义 CSRF(跨站请求伪造)是一种客户端攻击,又称为“一键式攻击”。该漏洞利用了Web应用程序与受害用户之间的信任关系,通过滥用同源策略,使受害者在不知情的情况下代表攻击者执行操作。与XSS攻击不同,XSS利用用户对特定网站的信任,而CSRF则利用了网站对用户网页…

HiveSQL如何生成连续日期剖析

HiveSQL如何生成连续日期剖析 情景假设&#xff1a; 有一结果表&#xff0c;表中有start_dt和end_dt两个字段&#xff0c;&#xff0c;想要根据开始和结束时间生成连续日期的多条数据&#xff0c;应该怎么做&#xff1f;直接上结果sql。&#xff08;为了便于演示和测试这里通过…

C++:MySQL的事务概念与使用(四)

1、事务的概念 定义&#xff1a;事务是构成单一逻辑工作单元的操作集合&#xff0c;要么完整的执行&#xff0c;要么完全不执行。无论发生何种情况&#xff0c;DBS必须保证事务能正确、完整的执行。 性质&#xff1a;事务的四大ACID性质。 原子性(Atomicity)&#xff1a;一个事…

2.网络编程-HTTP和HTTPS

目录 HTTP介绍 HTTP协议主要组成部分 GET 和 POST有什么区别 常见的 HTTP 状态码有哪些 http状态码100 HTTP1.1 和 HTTP1.0 的区别有哪些 HTTPS 和 HTTP 的区别是什么 HTTP2 和 HTTP1.1 的区别是什么 HTTP3 和 HTTP2 的区别是什么 HTTPS的请求过程 对称加密和非对称…

甘特图在生产进度管理中的应用

生产进度管理在生产制造过程中起着至关重要的作用。 它主要关注对生产进程的掌控和安排&#xff0c;确保生产活动能够按照预定的计划和时间顺利进行&#xff0c;以达到按时交付产品的目标。 在生产进度管理中&#xff0c;首先需要制定一个详细且合理的生产计划&#xff0c;明…

Advanced RAG 02:揭开 PDF 文档解析的神秘面纱

编者按&#xff1a; 自 2023 年以来&#xff0c;RAG 已成为基于 LLM 的人工智能系统中应用最为广泛的架构之一。由于诸多产品的关键功能&#xff08;如&#xff1a;领域智能问答、知识库构建等&#xff09;严重依赖RAG&#xff0c;优化其性能、提高检索效率和准确性迫在眉睫&am…

STM32智能家居小助手

​ 设计的目的 大部分家用电器开关仍旧是传统的机械式按键开关&#xff0c;原因是传统式的电器开关开发周期短&#xff0c;制作成本低&#xff0c;方案成熟&#xff0c;但是传统的遥控家电开关已经不能满足人们对家电控制的要求&#xff0c;传统的遥控器具有单一性&#xff0c;…

类脑计算芯片:机器学习的新硬件革命

热爱编程的小落… &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️ 零基础学Java——小白入门必备&#x1f525; 重识C语言——复习回顾&#x1f525; 计算机网络体系———深度详讲 HCIP数通工程师-刷题与实战&#x1f525;&#x1f525;&#x1f525; 微信小程序开发——…

初识Java中的NIO

1.概述 Java NIO 全称java non-blocking IO &#xff0c;是指 JDK 提供的新 API。从 JDK1.4 开始&#xff0c;Java 提供了一系列改进的输入/输出新特性&#xff0c;被统称为 NIO(即 New IO)&#xff0c;是同步非阻塞的。NIO采用内存映射文件的方式来处理输入输出&#xff0c;NI…

Linux Shell:`awk` 命令

Linux Shell&#xff1a;awk 命令 awk 是一种强大的文本分析工具&#xff0c;广泛用于文本处理、数据提取和报告生成。它使用自己的编程语言来处理文件中的数据。在 Linux Shell 中&#xff0c;awk 命令能够执行复杂的模式匹配、编辑和分析任务。本文将介绍 awk 的基础用法、高…

激光雷达和相机的联合标定工具箱[cam_lidar_calibration]介绍

激光雷达和相机的联合标定工具箱[cam_lidar_calibration]介绍 写在前面安装过程调试过程标定成功可视化展示 写在前面 激光雷达和相机联合标定工具 论文地址&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9564700 github地址: https://github.com…

系统架构评估_2.SAAM方法

SAAM&#xff08;Scenarios-based Architecture Analysis Method&#xff09;是卡耐基梅隆大学软件工程研究所&#xff08;SEI at CMU&#xff09;的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法&#xff0c;是最早形成文档并得到广泛使用的软件架构分析方法。最…

RabbitMQ Docker 安装与应用

1.官方镜像 该镜像包含用户操作界面 2.Docker运行&#xff0c;并设置开机自启动 docker run -d --restartalways --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.10-management 默认登录账户和密码 guest 3、使用 队列和交换机绑定

【CicadaPlayer】视频切换/音视频同时切换

G:\CDN\all_players\CicadaPlayer-github-0.44\mediaPlayer\SuperMediaPlayer.hCicadaPlayer https://github.com/alibaba/CicadaPlayer可以clone 整个仓库的历史 git clone --bare https://github.com/username/project.git整体架构 :根据这个更容易理解:切换就是judgeFunc…