记一次失误上传阿里云OSS AssessKey密钥的事情
本文最后更新于 1152 天前,其中的信息可能已经有所发展或是发生改变。

之前在修改后台上传的时候不小心直接用后台页面的AccessKey密钥,然后忘了修改从 .env文件

再来看看Js实现的后台上传代码

<div class="container">
<!-- 引入在线资源 -->
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.8.0.min.js"></script>
<script>
const client = new OSS({
    // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
    region: 'oss-cn-shanghai',
    // 从STS服务获取的临时访问密钥(AccessKey ID和AccessKey Secret)。
    accessKeyId: '<?php echo env("ALIYUN_ACCESS_ID"); ?>',
    accessKeySecret: '<?php echo env("ALIYUN_ACCESS_KEY"); ?>',
    // 填写Bucket名称。
    bucket: 'assets-xyz-blue'
});
</script>            
<a href="javascript:void(0)" onclick="uploadPhoto()">选择图片</a>
<input type="file" id="photoFile" style="display: none;" onchange="upload()">
<script>
    function uploadPhoto() {
        $("#photoFile").click();
    }

    /**
     * 上传图片
     */
    function upload() {
        if ($("#photoFile").val() == '') {
            return;
        }
        // var CTime = Math.round(new Date());
        // var formData = new FormData();
        // formData.append('photo', document.getElementById('photoFile').files[0]);
        const data = document.getElementById('photoFile').files[0];
        // var FileName = document.getElementById('photoFile').files[0].name
        async function put () {
            try {
                // object表示上传到OSS的文件名称。
                // file表示浏览器中需要上传的文件,支持HTML5 file和Blob类型。
                var now = new Date();
                month = now.getMonth();
                month = month + 1;
                if (month < 10) month = "0" + month;
                var filename = 'attachments' + '/' + now.getFullYear() + '/' +  month + '/' + now.getTime() + '.' + data.name.split(".")[1];
                const r1 = await client.put(filename, data);
                var link = "<?php if (env('ASSETS_URL') !== '') { echo env('ASSETS_URL'); } ?>" + '/' + filename;
                content = "<img src='"+ link +"' alt=" + data.name +">";
                window.vditor.insertValue(content);
                console.log('put success: %j', r1);
            } catch (e) {
                console.error('error: %j', e);
            }
        }
        put();
        // formData.append('time', CTime);
        // $.ajax({
        //     url:"<?php echo env('APP_URL') ?>/admin/upload",
        //     type:"post",
        //     async: false,
        //     data: formData,
        //     contentType: false,
        //     processData: false,
        //     success: function(data) {
        //         if (data !== '') {
        //             content = "<img src='"+ data +"' alt=" + FileName +">";
        //             window.vditor.insertValue(content);
        //         }
        //     },
        //     error:function(data) {
        //         alert("上传失败")
        //     }
        // });
        // let content = this.vditor.getValue();
        // content = "<img src='/storage/"+ CTime +".png'>";
        // this.vditor.insertValue(content);
    }
</script>

或者数据库获取密钥,然后今天在修改完Navbar忘记了。一兴奋直接就一连串 git commit git push然后提交完了,我还在思考那个 views的怎么设置,然后我竟然收到了阿里云的短信

Screenshot_20210925_230931_com.android.mms.png

紧接着就是就是阿里云和Github/Gitguardian的邮件通知

QQ截图20210925231215.png

上一篇
下一篇