游客jzty3f4uepfla_个人页

个人头像照片 游客jzty3f4uepfla
0
1
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 提交了问题 2018-06-29

    误删数据库

  • 提交了问题 2018-05-23

    如何安装OSSFTP

  • 回答了问题 2018-05-09

    云解析免费版 DNS 是否可自己修改为 VIPDNS 使用?

    详细解答可以参考官方帮助文档  更多内容可查看《云解析(企业版)产品文档》1、 免费版用户不支持将 DNS 修改为 vip1.alidns.com/vip2.alidns.com2、非万网域名,非阿里云云解析企业版用户,即使在注册商处修改成 vip1.alidns.com/vip2.alidns.com,该 VIPDNS 也不会生效,解析也不会生效。
    踩1 评论0
  • 提交了问题 2018-04-13

    上海地区必须做公安备案吗信息怎么填写

  • 回答了问题 2018-04-13

    怎么控制别的账户对特定资源访问

    详细解答可以参考官方帮助文档 如果您购买了多台云服务器 ECS 实例,您的组织里有多个用户需要使用这些实例。如果这些用户共享使用您的云账号密钥,那么存在以下问题: 您的密钥由多人共享,泄密风险高; 您无法限制用户的访问权限,容易出现误操作导致安全风险。 访问控制 RAM (Resource Access Management) 是阿里云提供的资源访问控制服务。通过 RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。 访问控制 RAM 将帮助您管理用户对资源的访问权限控制。例如,为了加强网络安全控制,您可以给某个群组附加一个授权策略,该策略规定:如果用户的原始 IP 地址不是来自企业网络,则拒绝此类用户请求访问您名下的 ECS 资源。 您可以给不同群组设置不同权限,例如: SysAdmins:该群组需要创建和管理 ECS 镜像、实例、快照、安全组等权限。您给 SysAdmins 组附加了一个授权策略,该策略授予组成员执行所有 ECS 操作的权限。 Developers:该群组只需要使用实例的权限。您可以给 Developers 组附加一个授权策略,该策略授予组成员调用 DescribeInstances、StartInstance、StopInstance、CreateInstance 和 DeleteInstance 的权限。 如果某开发人员的工作职责发生转变,成为一名系统管理人员,您可以方便的将其从 Developpers 群组移到 SysAdmins 群组。 更多关于访问控制 RAM的介绍,请参考 RAM 的产品文档。
    踩1 评论0
  • 回答了问题 2018-04-08

    IE浏览器中浏览OSS的object URL中文文件名乱码

    详细解答可以参考官方帮助文档 1. 在object的http头中有一个参数为Content-Disposition,该参数指定该Object被下载时的名称,格式如:attachment;filename=123.jpeg具体用户可以参考如下链接https://help.aliyun.com/document_detail/oss/api-reference/object/PutObject.html2. filename用URL编码后写入例子:Content-Disposition的filename值的编码一开始没有明确的标准,所以各个浏览器实现都不大一样,最新的浏览器大都遵循了rfc5987标准。所以当filename的包含非US-ASCII码时,可以采用这方方式:attachment; filename=Mary+Meeker%ef%bc%9a2015%e2%80%9c%e4%ba%92%e8%81%94%e7%bd%91%e5%a5%b3%e7%9a%87%e6%8a%a5%e5%91%8a%e2%80%9d%e4%b8%ad%e6%96%87%e7%89%88.pdf;filename*=UTF-8''Mary+Meeker%ef%bc%9a2015%e2%80%9c%e4%ba%92%e8%81%94%e7%bd%91%e5%a5%b3%e7%9a%87%e6%8a%a5%e5%91%8a%e2%80%9d%e4%b8%ad%e6%96%87%e7%89%88.pdf 其中:Mary+Meeker%ef%bc%9a2015%e2%80%9c%e4%ba%92%e8%81%94%e7%bd%91%e5%a5%b3%e7%9a%87%e6%8a%a5%e5%91%8a%e2%80%9d%e4%b8%ad%e6%96%87%e7%89%88.pdf 为URLEncode的结果。应该在大多数的浏览器下可以工作,最新版本的firefox,ie,safari,chrome下验证通过,但是不能保证所有的浏览器都work。 如果问题还未能解决,请联系售后技术支持。 
    踩1 评论0
  • 回答了问题 2017-12-31

    客户端如何直接上传数据到OSS

    详细解答可以参考官方帮助文档 本示例讲解如何在服务端通过PHP代码完成签名,然后通过表单直传数据到OSS。 说明 本示例无法实现分片上传与断点续传。 背景 采用JavaScript客户端直接签名(参见JavaScript客户端签名直传)有一个严重的安全隐患:OSS AccessKey暴露在前端页面,这是非常不安全的做法。因此,OSS提供了服务端签名后直传的方案。 Demo 您可以通过样例体验服务端签名后直传效果:PC浏览器测试样例 原理介绍 服务端签名后直传的逻辑图如下: 流程如下: 用户发送上传Policy请求到应用服务器。 应用服务器返回上传Policy和签名给用户。 用户使用Plupload直接上传数据到OSS。 步骤 1:下载并安装Plugload Plupload是一款简单易用且功能强大的文件上传工具, 支持多种上传方式,包括html5、flash、silverlight,、html4。它会智能检测当前环境,选择最适合的上传方式,并且会优先采用Html5方式。请参见Plupload官网进行下载和安装。 步骤 2:下载应用服务器代码 PHP:下载地址 Java:下载地址 Python:下载地址 Go:下载地址 步骤 3:修改配置文件 本示例采用PHP编写。将下载包解压后,修改以下文件: php/get.php文件:$id= ''; $key= ''; $host = 'http://post-test.oss-cn-hangzhou.aliyuncs.com $id:您的AccessKeyId $key:您的AessKeySecret $host:格式为BucketName.Endpoint,例如post-test.oss-cn-hangzhou.aliyuncs.com 说明 关于Endpoint的介绍,请参见Endpoint(访问域名)。 upload.js文件 将变量severUrl改成服务器部署的地址,例如http://abc.com:8080/oss-h5-upload-js-php/get.php。 步骤 4:设置CORS HTML表单直接上传到OSS会产生跨域请求。为了浏览安全,需要为Bucket设置跨域规则(CORS),支持Post方法。 具体操作步骤请参见设置跨域访问。设置如下图所示: 说明 在低版本IE浏览器,Plupload会以Flash方式执行。您需要设置crossdomain.xml ,设置方法请参见OSS Web直传—使用Flash上传。 步骤 5:体验服务端签名后直传 将应用服务器代码zip包解压到Web根目录下。 在Web浏览器中输入/oss-h5-upload-js-php/index.html,例如http://abc.com:8080/oss-h5-upload-js-php/index.html。 选择一个或多个文件进行上传。 上传成功后,通过控制台查看上传结果。 核心代码解析 设置成随机文件名 如果想在上传时固定设置成随机文件名,后缀保持跟客户端文件一致,可以将函数改为:function check_object_radio() { g_object_name_type = 'random_name'; } 设置成用户的文件名 如果想在上传时固定设置成用户的文件名,可以将函数改为:function check_object_radio() { g_object_name_type = 'local_name'; } 设置上传目录 上传的目录由服务端(即PHP)指定, 每个客户端只能上传到指定的目录,实现安全隔离。下面的代码是将上传目录改成abc/,注意目录必须以正斜线(/)结尾。$dir = 'abc/'; 设置上传过滤条件 您可以利用Plupload的属性filters设置上传的过滤条件,如设置只能上传图片、上传文件的大小、不能有重复上传等。var uploader = new plupload.Uploader({ …… filters: { mime_types : [ //只允许上传图片和zip文件 { title : 'Image files', extensions : 'jpg,gif,png,bmp' }, { title : 'Zip files', extensions : 'zip' } ], max_file_size : '400kb', //最大只能上传400KB的文件 prevent_duplicates : true //不允许选取重复文件 }, mime_types:限制上传的文件后缀 max_file_size:限制上传的文件大小 prevent_duplicates:限制不能重复上传 说明 filters过滤条件不是必须的。如果不想设置过滤条件,只要把该项注释即可。 获取上传后的文件名 如果要知道文件上传成功后的文件名,可以用Plupload调用FileUploaded事件获取,如下所示:FileUploaded: function(up, file, info) { if (info.status == 200) { document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = 'upload to oss success, object name:' + get_uploaded_object_name(file.name); } else { document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = info.response; } }可以利用如下函数,得到上传到OSS的文件名,其中file.name记录了上传本地文件的名称。get_uploaded_object_name(file.name) 上传签名 JavaScript可以从服务端获取policyBase64、accessid、signature这三个变量,获取这三个变量的核心代码如下:phpUrl = './php/get.php' xmlhttp.open( 'GET', phpUrl, false ); xmlhttp.send( null ); var obj = eval ('(' + xmlhttp.responseText+ ')'); host = obj['host'] policyBase64 = obj['policy'] accessid = obj['accessid'] signature = obj['signature'] expire = parseInt(obj['expire']) key = obj['dir'] xmlhttp.responseText解析如下: 说明 以下仅为示例,并不要求必须是相同的格式,但是必须有accessid、policy、signature这三个值。 {'accessid':'6MKOqxGiGU4AUk44', 'host':'http://post-test.oss-cn-hangzhou.aliyuncs.com', 'policy':'eyJleHBpcmF0aW9uIjoiMjAxNS0xMS0wNVQyMDoyMzoyM1oiLCJjxb25kaXRpb25zIjpbWyJjcb250ZW50LWxlbmd0aC1yYW5nZSIsMCwxMDQ4NTc2MDAwXSxbInN0YXJ0cy13aXRoIiwiJGtleSIsInVzZXItZGlyXC8iXV19', 'signature':'I2u57FWjTKqX/AE6doIdyff151E=', 'expire':1446726203,'dir':'user-dir/'} accessid:用户请求的accessid。 host:用户要往哪个域名发送上传请求。 policy:用户表单上传的策略(Policy),是经过base64编码过的字符串。 signature:对变量policy签名后的字符串。 expire:上传策略失效时间,在PolicyText里指定。在失效时间之前,都可以利用此Policy上传文件,所以没有必要每次上传都去服务端获取签名。 说明 为了减少服务端的压力,设计思路是:初始化上传时,每上传一个文件后,获取一次签名。然后再上传时,比较当前时间与签名时间,看签名时间是否失效。如果失效了,就重新获取一次签名,如果没有失效,就使用之前的签名。这里就用到了变量expire,核心代码如下:now = timestamp = Date.parse(new Date()) / 1000; [color=#000000]//可以判断当前expire是否超过了当前时间,如果超过了当前时间,就重新取一次签名,缓冲时间为3[/color] if (expire 解析Policy的内容如下:{'expiration':'2015-11-05T20:23:23Z', 'conditions':[['content-length-range',0,1048576000], ['starts-with','$key','user-dir/']] 说明 Policy的详细信息请参见Policy基本元素。 上面Policy中增加了starts-with,用来指定此次上传的文件名必须以user-dir开头,用户可自行指定此字符串。增加starts-with的原因是:在很多场景下,一个应用对应一个Bucket,为了防止数字覆盖,每个用户上传到OSS的文件都可以有特定的前缀。这样就存在一个问题,用户获取到这个Policy后,在失效期内都能修改上传前缀,从而上传到别人的目录下。为了解决这个问题,可以设置应用服务器在上传时就指定用户上传的文件必须是某个前缀。这样如果用户获取到了Policy也没有办法上传到别人的前缀上,从而保证了数据的安全性。 总结 本示例中,web端向服务端请求签名,然后直接上传,不会对服务端产生压力,而且安全可靠。但是这个示例有个问题,就是用户上传了多少文件,上传了什么文件,服务端并不能马上知道,如果想实时了解用户上传了什么文件,可以采用服务端签名直传并设置上传回调。
    踩1 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息