/** * 解析RefererConfig数据 * * @return RefererConfig */ protected function parseDataFromResponse() { $content = $this->rawResponse->body; $config = new RefererConfig(); $config->parseFromXml($content); return $config; }
public function testBucket() { $refererConfig = new RefererConfig(); $refererConfig->addReferer('http://www.aliyun.com'); try { $this->ossClient->putBucketReferer($this->bucket, $refererConfig); } catch (OssException $e) { var_dump($e->getMessage()); $this->assertTrue(false); } try { Common::waitMetaSync(); $refererConfig2 = $this->ossClient->getBucketReferer($this->bucket); $this->assertEquals($refererConfig->serializeToXml(), $refererConfig2->serializeToXml()); } catch (OssException $e) { $this->assertTrue(false); } try { Common::waitMetaSync(); $nullRefererConfig = new RefererConfig(); $nullRefererConfig->setAllowEmptyReferer(false); $this->ossClient->putBucketReferer($this->bucket, $nullRefererConfig); } catch (OssException $e) { $this->assertTrue(false); } try { Common::waitMetaSync(); $refererConfig3 = $this->ossClient->getBucketLogging($this->bucket); $this->assertNotEquals($refererConfig->serializeToXml(), $refererConfig3->serializeToXml()); } catch (OssException $e) { $this->assertTrue(false); } }
public function testParseValidXml2() { $refererConfig = new RefererConfig(); $refererConfig->parseFromXml($this->validXml2); $this->assertEquals(true, $refererConfig->isAllowEmptyReferer()); $this->assertEquals(1, count($refererConfig->getRefererList())); $this->assertEquals($this->cleanXml($this->validXml2), $this->cleanXml(strval($refererConfig))); }
/** * 设置bucket的防盗链配置 * * @param OssClient $ossClient OssClient实例 * @param string $bucket 存储空间名称 * @return null */ function putBucketReferer($ossClient, $bucket) { $refererConfig = new RefererConfig(); $refererConfig->setAllowEmptyReferer(true); $refererConfig->addReferer("www.aliiyun.com"); $refererConfig->addReferer("www.aliiyuncs.com"); try { $ossClient->putBucketReferer($bucket, $refererConfig); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print __FUNCTION__ . ": OK" . "\n"; }
/** * 设置一个bucket的referer访问白名单和是否允许referer字段为空的请求访问 * Bucket Referer防盗链具体见OSS防盗链 * * @param string $bucket bucket名称 * @param RefererConfig $refererConfig * @param array $options * @return ResponseCore * @throws null */ public function putBucketReferer($bucket, $refererConfig, $options = NULL) { $this->precheckCommon($bucket, NULL, $options, false); $options[self::OSS_BUCKET] = $bucket; $options[self::OSS_METHOD] = self::OSS_HTTP_PUT; $options[self::OSS_OBJECT] = '/'; $options[self::OSS_SUB_RESOURCE] = 'referer'; $options[self::OSS_CONTENT_TYPE] = 'application/xml'; $options[self::OSS_CONTENT] = $refererConfig->serializeToXml(); $response = $this->auth($options); $result = new PutSetDeleteResult($response); return $result->getData(); }