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;可以保证加密的速度在一个特…

设计模式:生活中的迭代器模式

迭代器模式可以通过日常生活中的餐厅菜单遍历来类比。想象一下&#xff0c;你走进一家餐厅&#xff0c;服务员给了你一本菜单。这本菜单就像是一个聚合对象&#xff0c;它包含了各种菜品。你可以一页一页地翻阅菜单&#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/C++ std::list 插入时即整理顺序(ASC升序)

下面是一个随机的 packet&#xff08;帧&#xff09;插入函数&#xff0c;ASC升序&#xff0c;按 “packet_seq” 来控制成员之间的顺序&#xff0c;该函数优化了&#xff0c;倾向头、倾向尾。 即&#xff1a; 根据 packet_seq 可以得出&#xff0c;插入位置的最短距离&#x…

【JavaScript】如何在npm中切换源以及使用指定源安装依赖

忘不掉的是什么我也不知道 想不起当年模样 看也看不到 去也去不了的地方 也许那老街的腔调是属于我的忧伤 嘴角那点微笑越来越勉强 忘不掉的是什么我也不知道 放不下熟悉片段 回头望一眼 已经很多年的时间 透过手指间看着天 我又回到那老街 靠在你们身边渐行渐远 …

SpringBoot中实现阿里云验证码

要在SpringBoot中实现阿里云验证码发送&#xff0c;可以按照以下步骤进行&#xff1a; 注册阿里云账号&#xff1a;首先&#xff0c;你需要在阿里云官网注册一个账号&#xff0c;并登录到阿里云控制台。 创建短信服务&#xff1a;在阿里云控制台中&#xff0c;选择"短信服…

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;云安全厂商在这块的投入也是越来…

Stable Diffusion初级教程

一、入门篇 1. 理解基本概念 扩散模型&#xff08;Diffusion Models&#xff09;&#xff1a;扩散模型是一种生成模型&#xff0c;通过逐步添加噪声到数据样本中&#xff0c;然后学习如何逐步去除这些噪声来恢复原始数据。Latent Diffusion Model (LDM)&#xff1a;LDM是Stab…

【华为OD机试】需要打开多少监视器(贪心算法—JavaPythonC++JS实现)

本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Ja…

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;…

Opencv-视频的读取

0. 写在前面 此篇博文主要记录使用Opencv4系列对视频的读取功能。 1. 视频的读取 cv::VideoCapture类是读取视频的&#xff0c;cv::VideoCapture既支持视频问价的读取&#xff0c;也支持从视频捕获的文件中读取视频数据&#xff0c;像笔记本的自带摄像头&#xff0c;外接USB的…