当前位置: 首页 > news >正文

怎么建设一个淘宝客网站谁知道做gif动态图网站

怎么建设一个淘宝客网站谁知道,做gif动态图网站,关于网站建设的好处,免费做网页的网站minio的public桶因为没有限制#xff0c;所以在直接访问到桶地址的时候会列出桶内所有文件的url#xff0c;这样很不安全#xff0c;如何禁止这个功能#xff0c;可以使用三种方法 1、如果是新版的可以直接设置桶的Access Policy为自定义就好 编辑custom的Policy#xff…minio的public桶因为没有限制所以在直接访问到桶地址的时候会列出桶内所有文件的url这样很不安全如何禁止这个功能可以使用三种方法 1、如果是新版的可以直接设置桶的Access Policy为自定义就好 编辑custom的Policy去掉Action集合中的ListBucket就可以了如下是去掉后的json {Version: 2012-10-17,Statement: [{Effect: Allow,Principal: {AWS: [*]},Action: [s3:GetBucketLocation,s3:ListBucketMultipartUploads],Resource: [arn:aws:s3:::桶名称]},{Effect: Allow,Principal: {AWS: [*]},Action: [s3:AbortMultipartUpload,s3:DeleteObject,s3:GetObject,s3:ListMultipartUploadParts,s3:PutObject],Resource: [arn:aws:s3:::桶名称/*]}] } 设置完后 2、有些minio版本不支持直接设置那就要通过minio Client设置桶的custom的Policy了 下载地址http://dl.minio.org.cn/client/mc/release/linux-amd64/mc 下载后放到服务器上然后根据以下命令运行即可 1添加连接服务 ./mc config host add minio http://127.0.0.1:9000 用户名 密码 2查看已连接的服务查看上步添加的minio连接服务是否成功 ./mc config host list 3置PUBLIC桶的访问权限 ./mc anonymous set-json  /home/aadata/minio/自定义桶的Policy的json文件.json  minio/桶名 自定义桶的Policy的json文件.json文件如下 {Version: 2012-10-17,Statement: [{Effect: Allow,Principal: {AWS: [*]},Action: [s3:GetBucketLocation,s3:ListBucketMultipartUploads],Resource: [arn:aws:s3:::桶名]},{Effect: Allow,Principal: {AWS: [*]},Action: [s3:AbortMultipartUpload,s3:DeleteObject,s3:GetObject,s3:ListMultipartUploadParts,s3:PutObject],Resource: [arn:aws:s3:::桶名/*]}] } 4删除第一部添加的服务 ./mc config host remove minio  3、直接代码中实现设置桶的Policy参照下面代码自行理解吧 import java.io.File; import java.io.FileInputStream; import java.io.InputStream;import io.minio.*; import io.minio.http.Method;public class Minio {/*** minio参数*/private static final String ENDPOINT http://127.0.0.1:9000;private static final String ACCESS_KEY ******;private static final String SECRET_KEY ******;/*** 桶占位符*/private static final String BUCKET_PARAM ${bucket};/*** bucket权限-只读*/private static final String READ_ONLY {\Version\:\2012-10-17\,\Statement\:[{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetBucketLocation\,\s3:ListBucket\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM \]},{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetObject\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM /*\]}]};/*** bucket权限-只读*/private static final String WRITE_ONLY {\Version\:\2012-10-17\,\Statement\:[{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetBucketLocation\,\s3:ListBucketMultipartUploads\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM \]},{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:AbortMultipartUpload\,\s3:DeleteObject\,\s3:ListMultipartUploadParts\,\s3:PutObject\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM /*\]}]};/*** bucket权限-读写*/private static final String READ_WRITE {\Version\:\2012-10-17\,\Statement\:[{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetBucketLocation\,\s3:ListBucket\,\s3:ListBucketMultipartUploads\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM \]},{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:DeleteObject\,\s3:GetObject\,\s3:ListMultipartUploadParts\,\s3:PutObject\,\s3:AbortMultipartUpload\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM /*\]}]};/*** 文件url前半段** param bucket 桶* return 前半段*/public static String getObjectPrefixUrl(String bucket) {return String.format(%s/%s/, ENDPOINT, bucket);}/*** 创建桶** param bucket 桶*/public static void makeBucket(String bucket) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();// 判断桶是否存在boolean isExist client.bucketExists(BucketExistsArgs.builder().bucket(bucket).build());if (!isExist) {// 新建桶client.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());}}/*** 更新桶权限策略** param bucket 桶* param policy 权限*/public static void setBucketPolicy(String bucket, String policy) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();switch (policy) {case read-only:client.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).config(READ_ONLY.replace(BUCKET_PARAM, bucket)).build());break;case write-only:client.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).config(WRITE_ONLY.replace(BUCKET_PARAM, bucket)).build());break;case read-write:client.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).config(READ_WRITE.replace(BUCKET_PARAM, bucket)).build());break;case none:default:break;}}/*** 上传本地文件** param bucket 桶* param objectKey 文件key* param filePath 文件路径* return 文件url*/public static String uploadFile(String bucket, String objectKey, String filePath) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();client.uploadObject(UploadObjectArgs.builder().bucket(bucket).object(objectKey).filename(filePath).contentType(image/png).build());return getObjectPrefixUrl(bucket) objectKey;}/*** 流式上传文件** param bucket 桶* param objectKey 文件key* param inputStream 文件输入流* return 文件url*/public static String uploadInputStream(String bucket, String objectKey, InputStream inputStream) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();client.putObject(PutObjectArgs.builder().bucket(bucket).object(objectKey).stream(inputStream, inputStream.available(), -1).contentType(image/png).build());return getObjectPrefixUrl(bucket) objectKey;}/*** 下载文件** param bucket 桶* param objectKey 文件key* return 文件流*/public static InputStream download(String bucket, String objectKey) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();return client.getObject(GetObjectArgs.builder().bucket(bucket).object(objectKey).build());}/*** 文件复制** param sourceBucket 源桶* param sourceObjectKey 源文件key* param bucket 桶* param objectKey 文件key* return 新文件url*/public static String copyFile(String sourceBucket, String sourceObjectKey, String bucket, String objectKey) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();CopySource source CopySource.builder().bucket(sourceBucket).object(sourceObjectKey).build();client.copyObject(CopyObjectArgs.builder().bucket(bucket).object(objectKey).source(source).build());return getObjectPrefixUrl(bucket) objectKey;}/*** 删除文件** param bucket 桶* param objectKey 文件key*/public static void deleteFile(String bucket, String objectKey) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();client.removeObject(RemoveObjectArgs.builder().bucket(bucket).object(objectKey).build());}/*** 获取文件签名url** param bucket 桶* param objectKey 文件key* param expires 签名有效时间 单位秒* return 文件签名地址*/public static String getSignedUrl(String bucket, String objectKey, int expires) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();return client.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder().method(Method.GET).bucket(bucket).object(objectKey).expiry(expires).build());}public static void main(String[] args) {String bucket public;String objectKey demo/123.png;try {// 创建桶makeBucket(bucket);// 设置桶读写权限setBucketPolicy(bucket, read-write);// 上传本地文件String url1 uploadFile(bucket, objectKey, D://123.png);// 输出 http://127.0.0.1:9000/demo/123.pngSystem.out.println(url1);// 上传文件流String url2 uploadInputStream(bucket, objectKey, new FileInputStream(new File(D://123.png)));// 输出 http://127.0.0.1:9000/demo/123.pngSystem.out.println(url2);// 下载文件InputStream inputStream download(bucket, objectKey);// 文件复制String url3 copyFile(bucket, objectKey, test, test/abc.png);// 输出 http://127.0.0.1:9000/test/abc.pngSystem.out.println(url3);// 删除文件deleteFile(test, test/abc.png);// 获取文件签名urlString sign getSignedUrl(bucket, objectKey, 600);// 该路径可访问文件五分钟System.out.println(sign);} catch (Exception e) {e.printStackTrace();}} }
http://www.dnsts.com.cn/news/192113.html

相关文章:

  • 本地服务网站开发WordPress加QQ和微信插件
  • 亿级流量网站架构wordpress 3.9.12
  • 前段 网站建设实例问卷调查网站哪个好
  • 网站空间如何申请群晖直接编辑wordpress
  • 网站横幅广告怎么做到哪查找网站域名
  • 网站的点击率怎么查wordpress小工具滑至顶部
  • 怎样给公司做一个网站少儿编程网
  • 网站信息化建设方案城市建设理论研究收录网站
  • 做二手手机交易网站怎么样自己做网站赚钱年入40万
  • 建设银行河北省分行官方网站网站建设论文范文
  • 天津做网站推广的网站网站模板 兼容
  • 汕头seo网站排名桐城做网站的公司
  • 网站安全管理制度建设营口建网站的公司
  • 微信链接的微网站怎么做的三合一商城网站
  • 陆良县住房和城乡建设局网站服装设计网站模板
  • 年栾洪全单页做网站教程wordpress 设置 logo
  • 惠州网站建设哪里有wordpress服务器安装教程
  • 网站有没有做网站地图怎么看移动互联网开发招人
  • 自己有服务器怎么建设网站wordpress社交游戏
  • 谷歌英文网站优化js特效素材网
  • 太原关键词网站排名保定网站推广费用
  • 怎么做企业网站排名动态ip怎么建设网站
  • 做网站网络公司腾讯cvm安装wordpress
  • 四川省住房与城乡建设厅网站wordpress搬家失败
  • 网站开发如何入门锦州微商网站制做
  • 给金融的做网站 犯法吗四川成都设计院
  • 江苏省工程建设标准站网站石材外贸在哪个网站做
  • 海洋cms怎么做电影网站万户 网站建设
  • 交互网站 百度客户资源网
  • 科协科普网站建设ipc网站备案查询