重定向

PHP中重定向网页跳转页面的方法(共三种)

孤人 提交于 2020-04-04 19:59:04
hhw:用第一种方法可以将:http://127.0.0.1/tp5 简化为 http://127.0.0.1 ,即将www目录下的index.php文件写入第一种中的php代码: <?php header('content-type:text/html;charset=uft-8'); header('location:tp5/index.php'); ?> 或直接: <?php header('content-type:text/html;charset=uft-8'); header('location:tp5/public/index.php'); ?> 第一种:利用header()函数进行重定向,这也是我用的较多的。(注意!locationhe和“:”之间不能有空格,否则无作用!) <?php header('content-type:text/html;charset=uft-8); //重定向页面 header('location:index.php'); ?> 第二种:利用HTML 头部中的 meta标签,定义http-equiv=refresh 和content=”跳转花费的时间(秒为单位);url=跳转地址” <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> //跳转页面,跳转时间

Django中使用第三方登录

那年仲夏 提交于 2020-04-04 17:53:15
OAuth2.0是什么 OAuth的英文全称是Open Authorization,它是一种开放授权协议。OAuth目前共有2个版本,2007年12月的1.0版(之后有一个修正版1.0a)和2010年4月的2.0版,1.0版本存在严重安全漏洞,而2.0版解决了该问题。 OAuth简单说就是一种授权的协议,只要授权方和被授权方遵守这个协议去写代码提供服务,那双方就是实现了OAuth模式。 OAuth2.0实现第三方登录的流程 例如你想登录豆瓣去看看电影评论,但你丫的从来没注册过豆瓣账号,又不想新注册一个再使用豆瓣,怎么办呢?不用担心,豆瓣已经为你这种懒人做了准备,用你的qq号可以授权给豆瓣进行登录。流程如下: 第一步:在豆瓣官网点击用qq登录 当你点击用qq登录的小图标时,实际上是向豆瓣的服务器发起了一个 http://www.douban.com/leadToAuthorize 的请求,豆瓣服务器会响应一个重定向地址,指向qq授权登录。 浏览器接到重定向地址 http://www.qq.com/authorize?callback=www.douban.com/callback ,再次访问。并注意到这次访问带了一个参数是callback,以便qq那边授权成功再次让浏览器发起这个callback请求。不然qq怎么知道你让我授权后要返回那个页面啊,每天让我授权的像豆瓣这样的网站这么多。

记录一下 http status code

南楼画角 提交于 2020-04-03 12:46:02
HTTP Method 较为简单,我们常用的习惯如下: 一般查询我们都会使用 GET 方法, 创建新的记录使用 POST 方法 更新已有数据使用 PUT 方法 更新已有数据部分属性使用 PATCH 方法 删除已有数据使用 DELETE 方法 下面来详细介绍一下常用的 HTTP 状态码 1xx 1xx 状态码一般是一个请求的中间状态,一般是信息提示,请求协商 100 Continue,请求未结束,应该继续请求 101 Switching Protocol,协议转换,在使用 Web Socket 的时候就会遇到,下面是一个示例,响应会有一个 Connection:Upgrade 的请求头, Upgrade 会指定要使用的协议名称 2xx 2xx 一般表示请求处理成功 200 OK,请求处理成功 201 Created,请求处理成功,并且新资源已经创建 202 Accepted,请求已经接受,正在处理,尚未处理完成 204 No Content,响应内容为空,在 asp.net core 中返回一个 Json(null) 的时候就会是一个 NoContent 的结果 3xx 3xx 一般表示重定向 301 Moved Permanently 永久重定向 302 Found 临时重定向 307 Temporary Redirect 临时重定向请求 308 Permanent

Java面试题集锦

依然范特西╮ 提交于 2020-04-03 05:27:09
1. String、StringBuffer和StringBuilder的区别。 (1) String:存储数值不可改变的字符串 (2) StringBuffer:可变字符序列、线程安全、效率低 (3) StringBuilder:可变字符序列、线程不安全、效率高 2. final, finally, finalize的区别。 (1) final修饰的类不能被继承,修饰的方法不能被子类重写,修饰的属性为常量。一旦初始化后,不可再被赋值。习惯上,常量 用大写字符表示。 (2) finally是异常处理语句结构的一部分,表示总是执行。 (3) finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其 他资源回收,例如关闭文件等。 3. HashMap和Hashtable的区别。(都完成了Map接口) (1) HashMap是Hashtable的轻量级实现(非线程安全的实现),效率较高,而Hashtable是线程安全的,效率较低。 (2) Hashtable不允许使用 null 作为 key 和 value,而HashMap 可以。 (3) Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而 HashMap 就必须为之提供外同步。

nohup命令

自作多情 提交于 2020-04-02 08:45:21
nohup &方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe --user=mysql & nohup方式:  但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在后台能够一直运行,那么就使用nohup: nohup /root/start.sh & 在shell中回车后提示: [~]$ appending output to nohup.out 原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。 nohup问题: 但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。 有个操作终端时的细节 :当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端

Http Response Code

孤街浪徒 提交于 2020-04-01 02:22:13
HTTP协议状态码表示的意思主要分为五类 ,大体是 : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1××   保留 2××   表示请求成功地接收 3××   为完成请求客户需进一步细化请求 4××   客户错误 5××   服务器错误 --------------------------------------------------------------- 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) Successful ================================= 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新

转发和重定向

二次信任 提交于 2020-03-31 17:51:32
转发: url路径不变; 只能转发服务器内部资源; 一次请求,因此,request是可以共享的; 重定向: url路径改变; 可以访问本项目外资源; 两次请求,因此,request也是两次,所以不能共享。 来源: https://www.cnblogs.com/shun998/p/12606144.html

20199329 2019-2020-2 《网络攻防实践》第五周作业

戏子无情 提交于 2020-03-30 16:26:07
《网络攻防实践》第五周作业 一、前言 这个作业属于哪个课程: https://edu.cnblogs.com/campus/besti/19attackdefense 这个作业的要求在哪里: https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553 我在这个课程的目标是:学习网络攻防相关知识,提升专业技能 这个作业在哪个具体方面帮助我实现目标:学习TCP/IP网络协议攻击的原理和实践 二、知识点总结 1.网络协议攻击及其基本概念 学习网络安全、信息安全首先应当铭记心中的是五大安全属性:机密性,完整性,可用性、真实性和不可抵赖性。我们所有的攻击或者防守都是围绕这五大安全属性来展开的。那么作为攻击方来说,通常有以下几种攻击模式: 截获:以嗅探与监听技术为基础的被动攻击模式,获取网络通信双方的通信信息内容。 中断:以拒绝服务技术为基础的主动攻击模式,使网络通信和会话无法进行。 伪造:以欺骗为基础的主动攻击模式,假冒网络通信方的身份,欺骗通信对方达到恶意目的。 篡改:包括数据包篡改,中间人攻等技术的击主动攻击模式,网络通信工程的信息内容进行篡改,使得通信一方或双方接收到虚假消息。 但是作为一个攻击者,我们还缺少了安全缺陷,有了安全缺陷,我们才可以实施攻击。通常有以下几种TCP/IP网络协议栈安全缺陷与攻击技术:

Android官方API翻译——HttpURLConnection

本秂侑毒 提交于 2020-03-30 08:02:30
人工翻译,水平有限,欢迎指正交流 原文地址: http://developer.android.com/reference/java/net/HttpURLConnection.html ------------------------------------------------------------------- 继承自java.net.URLConnection 适用于HTTP(RFC 2616)的URLConnection,用于在网络上发送和接受数据。这个类可以用来发送或者接受那些事先不知道长度的流式数据。 可以采用如下方式使用这个类: 1.通过调用URL.openConnection()方法,再执行强制类型转换获取HttpURLConnection实例。 2.准备请求。一个网络请求的主要组成部分就是URI,请求头也可能包含凭证、首选内容类型、Session Cookies等数据。 3.请求体是可选的上传内容,一个HttpURLConnection对象要想携带请求体必须设置setDoOutput(true)。通过写入getOutputStream()返回的流来传输数据。 4.读取响应。响应数据的头部通常包含有例如数据内容类型、长度、修改日期以及Session Cookies等元数据。响应数据可以通过getInputStream()返回的流来读取。如果没有响应数据

如何理解 HTTP 状态码?

懵懂的女人 提交于 2020-03-29 18:32:36
RFC 规定 HTTP 的状态码为三位数,被分为五类: 1xx: 表示目前是协议处理的中间状态,还需要后续操作。 2xx: 表示成功状态。 3xx: 重定向状态,资源位置发生变动,需要重新请求。 4xx: 请求报文有误。 5xx: 服务器端发生错误。 接下来就一一分析这里面具体的状态码。 1xx 101 Switching Protocols。在 HTTP 升级为 WebSocket 的时候,如果服务器同意变更,就会发送状态码 101。 2xx 200 OK是见得最多的成功状态码。通常在响应体中放有数据。 204 No Content含义与 200 相同,但响应头后没有 body 数据。 206 Partial Content顾名思义,表示部分内容,它的使用场景为 HTTP 分块下载和断电续传,当然也会带上相应的响应头字段 Content-Range 。 3xx 301 Moved Permanently即永久重定向,对应着302 Found,即临时重定向。 比如你的网站从 HTTP 升级到了 HTTPS 了,以前的站点再也不用了,应当返回 301 ,这个时候浏览器默认会做缓存优化,在第二次访问的时候自动访问重定向的那个地址。 而如果只是暂时不可用,那么直接返回 302 即可,和 301 不同的是,浏览器并不会做缓存优化。 304 Not Modified: