如何实现网站的防盗链

如何实现网站的防盗链,第1张

可以基于OSS的防盗链,目前OSS提供的防盗链的方法主要有两种:

设置Referer。控制台,SDK都可以 *** 作,适合不想写代码的用户,也适合喜欢开发的用户;

签名URL,适合喜欢开发的用户。 本文会给一个控制台设置Referer防盗链的具体事例,也会基于PHP SDK给一个动态生成签名URL防盗链的示例。

通过Referer防盗链的具体步骤

第一步:进入 OSS 管理控制台界面。

第二步:单击目标存储空间的名称进入存储空间管理页面。

第三步:单击 Bucket 属性 > 防盗链设置。

第四步:单击“设置”添加白名单网址并设置是否允许其为空。

第五步:单击“提交”保存对防盗链的设置。

举例

对于一个名为test-1-001的存储空间,设置其referer 白名单为 >

签名URL实现步骤

签名URL的原理和实现方法见OSS开发人员指南授权第三方下载。 签名URL的实现步骤:

1、将Bucket的权限设置为私有读;

2、 根据期望的超时时间(签名URL失效的时间)生成签名。

具体实现

第一步:安装PHP最新代码,参考PHP SDK文档;

第二步:实现生成签名URL并将其放在网页中,作为外链使用的简单示例:

<phprequire 'vendor/autoloadphp';#最新PHP提供的自动加载use OSS\OssClient;#表示命名空间的使用$accessKeyId="a5etodit71tlznjt3pdx7lch";#AccessKeyId,需要使用用户自己的$accessKeySecret="secret_key";#AccessKeySecret,需要用用户自己的$endpoint="oss-cn-hangzhoualiyuncscom";#Endpoint,根据Bucket创建的区域来选择,本文中是杭州$bucket = 'referer-test';#Bucket,需要用用户自己的$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);$object = "aliyun-logopng";#需要签名的Object$timeout = 300;#期望链接失效的时间,这里表示从代码运行到这一行开始的当前时间往后300秒$signedUrl = $ossClient->signUrl($bucket, $object, $timeout); #签名URL实现的函数$img= $signedUrl;#将签名URL动态放到资源中并打印出来$my_html = "<html>";$my_html = "<img src=\""$img "\" />";$my_html = "<p>"$img"</p>";$my_html = "</html>";echo $my_html;>

第三步:通过浏览器访问 多请求几次会发现签名的URL会变,这是正常的。主要是因为过期时间的改变导致的。这个过期时间是链接失效的时间,是以unix time的形式展示的。 如:Expires=189999,可以将这个时间转换成本地时间。在Linux下的命令为date -d@189999,也可以在网络上找工具自行转换。

特别说明

签名URL可以和Referer白名单功能一起使用。

如果签名URL失效的时间限制在分钟内,盗链用户即使伪造了Referer也必须拿到签名的URL,且必须在有效的时间内才能盗链成功。 相比只使用Referer来说,增加了盗链的难度。 也就是说签名URL配合Referer白名单功能,可以增加防盗链的效果。

防盗链总结,基于OSS的防盗链最佳实践点如下

使用三级域名URL,例如referer-testoss-cn-hangzhoualiyuncscom/aliyun-logopng,安全性比绑定二级域名更高。三级域名方式能够提供Bucket级别的清洗和隔离,能够应对被盗链后的流量暴涨的情况,也能避免不同Bucket间的互相影响,最终提高业务可用性;

如果使用自定义域名作为连接,CNAME也请绑定到三级域名,规则是bucket + endpoint。假如你的bucket名为test,三级域名则为testoss-cn-hangzhoualiyuncscom;

对Bucket设定尽可能严格的权限类别。例如提供公网服务的Bucket设置为public-read或private,禁止设置为public-read-write。Bucket权限参见访问控制;

对访问来源进行验证,根据需要设置合适的Referer白名单;

如果需要更严格的防盗链方案,请参考签名的URL方案;

记录Bucket访问日志,能够及时发现盗链活动和验证防盗链方案的有效性。 访问日志参见设置访问日志记录。

1、“首先,我们要了解,服务器是用什么物品圈地的,一般的是木斧或者木锄。这个可以问问服主或者其他玩家

2、然后,我们要知道空间是立体的。要做的就是拿起圈地工具,点击你要圈地空间最上一格方块和最下的一格方块,形成对角线。”

3、“点击的时候,“系统”会提示这类消息。”貌似是这块方块的坐标

4、“等两个点好了,可以输入/res select size 可以看见自己选择的地有多少个格子、价钱,也可以不输入。注:Land cost为圈地需要花费的金币。输入/money 就可以看到你现在拥有多少钱了”

5、“然后输入/res create [你自己取名,必须是英文哦](例:输入/res create abc)这样你就拥有了这片领地了,且这块领地的名称是abc。

你还可以/res tp abc来回到领地”(此abc是领地名字,领地名字好像只能是英文不能是中文,玩家可以自定义)

6、如果你圈地圈错了,还可以输入/res remove [领地的名字](例:输入/res remove cheng3)(cheng3是领地名字)来把领地移除。如果想要转让领地,输入/res give 领地名 玩家名 前提是,这个领地主人是你”。

7、接下来是领地权限的指令:

<build> 设置玩家是否可以在领地里面建设/拆除如果为false 玩家将不可以建设/拆除。

<use> 设置玩家是否可以使用领地中的物品包括:门,按钮 等等如果为false 玩家将不可以使用东西。

<container> 设置玩家是否可以使用领地中的容器包括:箱子,炉子,发射器 等等如果为false 玩家将不可以打开。

<tp> 设置玩家是否可以传送到领地里面如果为false 玩家将无法传送进领地。

<admin> 设置玩家是否可以修改领地里面的flags默认为false <flow> 设置液体是否可以流动默认为false。

<pvp> 设置是否开启PVP

<tnt> 设置TNT能否照成任何爆炸

<creeper> 设置creeper能否爆炸

<ignite> 如果为false 将不能点火

<firespread> 如果为false 火焰将不会散播

<subzone> 设置玩家是否可以建设subzone

<bucket> 设置玩家是否可以使用桶子 <

<place> 单独设置玩家是否可以摆放物品(设置这个将盖过build flag)

<destroy> 单独设置玩家是否可以拆除物品(设置这个将盖过build flag)

<piston> 设置是否可以使用活塞

<move> 设置是否可以移动

以下为权限设置(true为开启,false为关闭)

/res set 领地具体权限 true/flase 将你的领地设定权限是否开启。

/res pset 领地 玩家名字 具体权限 true/false 将你的领地开放或关闭给某玩家一个具体的权限。

如果要给别人所有权限 /res pset领地玩家名字 trusted true

设置你脚下方块为这个领地的传送点 /res tpset

查看你拥有的领地 /res list ”

Minecraft是一个沙盒建造游戏,中文非官方译名为“我的世界”或“当个创世神” “麦块”。这个游戏让每一个玩家在三维空间中自由地创造和破坏不同种类的方块。其灵感源自于无尽矿工,矮人要塞和地城守护者。创始人为马库斯·泊松,他同时也是Mojang AB的创立人。目前的开发负责人为延斯·伯根斯坦。玩家在游戏中的形象可以在单人或多人模式中通过摧毁或创造方块以创造精妙绝伦的建筑物,创造物和艺术品。

一、游戏特色

《Minecraft》最初由瑞典人马库斯·阿列克谢·泊松(Markus "Notch" Persson)单独开发,开发灵感来自《矮人要塞》(Dwarf Fortress)、《模拟乐园》、《地城守护者》

(Dungeon Keeper)和《Infiniminer》。当时,他想创建3D建筑可视化的游戏,这将是他的灵感之间的结合,并提出了一些早期的原型。《Infiniminer》严重影响了游戏的风格,包括第一人称游戏方面,“块状”的视觉风格和完全方块建设的基本因素。然而,不像Infiniminer,佩尔松希望《Minecraft》拥有RPG元素随机生成的世界;[1]《Minecraft》最初是由一个人独立完成的游戏,游戏设计师Markus Alexej Persson(马库斯·阿列克谢·泊松),通常被称为Notch,从多款游戏获得灵感,其中较为著名的是《地牢守护者》,而发想过程中《Infiniminer》也对他起了相当大的影响。但是尽管这款游戏只有一个人开发,却曾创下单日获利26万欧元(相当于人民币242万元左右)的纪录。《Minecraft》属于3D的第一人称沙盘游戏,所呈现的世界并不是华丽的画面与特效,而是注重在游戏性上面。玩家在游戏中做着建设,破坏等等许多事,透过像乐高一样的积木来组合与拼凑,轻而易举的就能制作出小木屋、城堡甚至城市,但是若再加上玩家的想像力,空中之城、地底都市都一样能够实现。玩家不仅可以创造房屋建筑,甚至可以创造属于自己的都市和世界,玩家可以通过自己创造的作品来体验上帝一般的感觉。

我的世界服务器设置领地权限

直接用选取工具选择两点化妆/res create [领地名]设置权限可以用/res set玩具 <领地名> [权限] [t/f/remove]权限表:admin:领地的全权管理权限,仅能给与某玩家container:是否能使用箱子,发射器等bucket:

设置是否能使用桶ignite:点火的权限piston:活塞是否能使用build:建造权限(包括destroy和place)destroy:毁坏权限place:放置权限move:进入权限tp:传送权限use:使用权限(工作台,炉子等)subzone:是否能设置子空间tnt:

设置tnt是否有效creeper:

设置JJ怪是否有效(设置F的话JJ怪就废了)damage:设置领地内是否能造成伤害(不能防止被挤死)monsters:

设置是否刷新怪物animals:

设置是否刷新动物firespread:火是否能蔓。

我的世界怎么给所有领地权限,就是输一次指令就可以设置一。

手拿木斧,在你房子的角上最低点左键点一下地和对角的最高点右键点一下。

然后输入 /res select size 来查询一下你所圈的领地是否正确和满意,这个命令也会显示出你当前圈地所需要的金钱。输入 ( /res create 领地名字) 来购买领地,领地名字自己随意起。

注意~!!!!给权限的时候要站在当前领地里面,如果不在请在朋友名字后面空格加上领地名字。 例:/res pset 朋友名称 领地名称 use true/res pset 朋友名称 领地名称 use true 使用领地中的物品(包括:门,按钮 等等)/res pset 朋友名称 领地名称 build true 在领地里面建设/拆除/res pset 朋友名称 领地名称 container true 使用领地中的容器包括旺财理财:箱子,炉子,发射器 等等长。 有领地插件 然后还要用线圈起来 然后输入一个指令。

在linux上安装s3cmd

在Ubuntu或者Debian上安装s3cm

$ sudo apt-get install s3cmd

在Fedora上安装s3cmd

$ sudo yum install s3cmd

在CentOS或者RHEL上安装s3cm

$ s3cmd put –acl-public 4png s3://dev99

4png -> s3://dev99/4png [1 of 1]

30778 of 30778 100% in 8s 334 kB/s done

先从官方站点上下载rpm包,然后手工安装。64位CentOS或RHEL 6,用以下命令:

$ sudo rpm -ivh s3cmd-100-41x86_64rpm

配置s3cmd

第一次运行s3cmd需要运行下面的命令做配置:

$ s3cmd –configure

它将会问你一系列问题:

AWS S3的访问密钥和安全密钥

对AWS S3双向传输的加密密码和加密数据

为加密数据设定GPG程序的路径(例如,/usr/bin/gpg)

是否使用>

1 我的世界里怎么给自己的房子弄权限

首先你要建立自己的领地。圈地的方法是,你要有一个木锄头,然后手拿木锄头,在你房子的角上最低点左键点一下地和对角的最高点右键点一下。

然后输入 /res select size 来查询一下你所圈的领地是否正确和满意,这个命令也会显示出你当前圈地所需要的金钱。

输入 /res create 领地名字来购买领地,领地名字自己随意起。

圈地完成后你可以输入指令来完成权限设置:

输入“/res set 123 flags true/false”(例)来设置权限,其中:

①123是领地名,不填则默认为当前所处领地;

②flags是权限,有:

move(移动);build(改变地形);place(放置物品);destroy(破坏);use(使用);

container(打开箱子);pvp(玩家伤害);tp(传送到该领地);ignite(点火);

firespread(火的传播);bucket(桶的使用);flow(后面两个总括);lavaflow(岩浆流动);

waterflow(水的流动);creeper(JJ怪爆炸);tnt(tnt爆炸);monsters(怪物出生);

animals(动物出生);subzone(子空间);healing(治疗)。 piston(活塞)(活塞不适用于单人命令)

③true/false是权限状态,若输入true则为开启,false则为关闭。

单人权限设置 拿 destroy 来举例 输入 /res pset

领地名字 玩家名字 destroy t

2 我的世界里怎么给自己的房子弄权限

首先你要建立自己的领地。

圈地的方法是,你要有一个木锄头,然后手拿木锄头,在你房子的角上最低点左键点一下地和对角的最高点右键点一下。然后输入 /res select size 来查询一下你所圈的领地是否正确和满意,这个命令也会显示出你当前圈地所需要的金钱。

输入 /res create 领地名字来购买领地,领地名字自己随意起。圈地完成后你可以输入指令来完成权限设置: 输入“/res set 123 flags true/false”(例)来设置权限,其中:①123是领地名,不填则默认为当前所处领地; ②flags是权限,有:move(移动);build(改变地形);place(放置物品);destroy(破坏);use(使用);container(打开箱子);pvp(玩家伤害);tp(传送到该领地);ignite(点火);firespread(火的传播);bucket(桶的使用);flow(后面两个总括);lavaflow(岩浆流动);waterflow(水的流动);creeper(JJ怪爆炸);tnt(tnt爆炸);monsters(怪物出生);animals(动物出生);subzone(子空间);healing(治疗)。

piston(活塞)(活塞不适用于单人命令)③true/false是权限状态,若输入true则为开启,false则为关闭。 单人权限设置 拿 destroy 来举例 输入 /res pset 领地名字 玩家名字 destroy t。

3 我的世界 如何给别人自己家的权限

领地内权限设置:

输入“/res pset xxx flags true/false”(例)来设置权限,制其中:

①xxx是领地名,不填则默认为当前所处领地;百

②eflags是权限,有:

move(移动);度build(改变地形);place(放置物品);destroy(破坏);use(使用);

container(打开箱子);pvp(玩家伤害);tp(传送到该领地);ignite(点火);

firespread(火的传播);bucket(桶的使用);flow(后面两个总括);lavaflow(岩浆流动);

waterflow(水的流动);creeper(JJ怪爆炸);tnt(tnt爆炸);monsters(怪物出生);

animals(动物出生);subzone(子空间);healing(治疗)问。 piston(活塞)(活塞不适用于单人命令)

③true/false是权限状态,若输入true则为开启,false则为关闭。

单人权限设答置 拿 destroy 来举例 输入 /res pset 领地名字 玩家名字 destroy t

4 我的世界地皮怎么给别人全部权限

只有在生存服务器里才有,可以在介绍里看到。联机的话你没有下载MOD是没有的。

方法:手拿木斧,在你房子的角上最低点左键点一下地和对角的最高点右键点一下。然后输入 /res select size 来查询一下你所圈的领地是否正确和满意,这个命令也会显示出你当前圈地所需要的金钱。输入 ( /res create 领地名字) 来购买领地,领地名字自己随意起。

注意~!!!!给权限的时候要站在当前领地里面,如果不在请在朋友名字后面空格加上领地名字。

例:/res pset 朋友名称 领地名称 use true

/res pset 朋友名称 领地名称 use true 使用领地中的物品(包括:门,按钮 等等)

/res pset 朋友名称 领地名称 build true 在领地里面建设/拆除

/res pset 朋友名称 领地名称 container true 使用领地中的容器包括:箱子,炉子,发射器 等等

长用命令这3种足够如果要取消对方的权限,把最后的true改成false。

build:设置玩家是否可以在领地里面建设/拆除如果为false 玩家将不可以建设/拆除

use:设置玩家是否可以使用领地中的物品(包括:门,按钮 等等)如果为false 玩家将不可以使用东西

container:设置玩家是否可以使用领地中的容器包括:箱子,炉子,发射器 等等,如果false玩家将不可以打开

tp:设置玩家是否可以传送到领地里面如果为false 玩家将无法传送进领地[暂不可设置]

admin:设置玩家是否可以修改领地里面的flags默认为false[暂不可设置]

flow:设置液体是否可以流动默认为false

pvp:设置是否开启PVP

tnt:设置TNT能否照成任何破坏

creeper:设置creeper能否爆炸

ignite:如果为false 将不能点火

firespread:如果为false 火焰将不会散播

subzone:设置玩家是否可以建设subzone

bucket:设置玩家是否可以使用桶子

place:单独设置玩家是否可以摆放物品(设置这个将盖过build flag)

destroy:单独设置玩家是否可以破坏物品(设置这个将盖过build flag)

piston:设置是否可以使用活塞

领地内权限设置:

输入“/res set 领地名字 下面的指令 true/false”(例)来设置权限,其中:

①123是领地名,不填则默认为当前所处领地;

②flags是权限,有:

move(移动);build(改变地形);place(放置物品);destroy(破坏);use(使用);

container(打开箱子);pvp(玩家伤害);tp(传送到该领地);ignite(点火);

firespread(火的传播);bucket(桶的使用);flow(后面两个总括);lavaflow(岩浆流动);

waterflow(水的流动);creeper(JJ怪爆炸);tnt(tnt爆炸);monsters(怪物出生);

animals(动物出生);subzone(子空间);healing(治疗)。 piston(活塞)(活塞不适用于单人命令)

③true/false是权限状态,若输入true则为开启,false则为关闭。

单人权限设置 输入 /res pset 领地名字 玩家名字 权限 true/false

5 我的世界怎么把领地所有权限给别人

我的世界给别人领地权限方法

手拿木斧,在你房子的角上最低点左键点一下地和对角百的最高点右键度点一下。然后输入 /res select size 来查询一下你所圈的领地是否正确和满意,这个命令也会显示出你当前圈地所需要的金钱。输入 ( /res create 领地名字) 来购买领地,领地名字自己随意起。

注意~专!!!!给权限的时候要站在当前领地里面,如果不在属请在朋友名字后面空格加上领地名字。

例:/res pset 朋友名称 领地名称 use true

6 我的世界领地怎么给一个玩家所有权限

/res pset 朋友名称 领地名称 use true 使用领地中的物品(包括:门,按钮 等等)

/res pset 朋友名称 领地名称 build true 在领地里面建设/拆除

/res pset 朋友名称 领地名称 container true 使用领地中的容器包括:箱子,炉子,发射器 等等

一般来说用这些指令就足够了,可以让你的朋友随意使用你的领地。不过我个人测试之后发现如果你站在领地的话,就不需要输入领地名称了。直接输入朋友名称就可以,输了领地名称有的时候还会出错,提示未知什么的

以上就是关于如何实现网站的防盗链全部的内容,包括:如何实现网站的防盗链、我的世界中国版(网易),梦世界生存服务器,圈地问题、我的世界怎么开启和关闭别人建筑权和破坏权利等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9348926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存