Closed sugizakikun closed 1 month ago
エロ画像がアップロードされないようにしたい
nsfw apiによりエロ画像と判定された画像がアップロードされたら以下の処理を走らせる。
updateメソッド本体
$nsfwApiResponse = $this->sendNsfwApiRequest($s3Path); # サーバーエラーの場合はアップロードされたS3オブジェクトを削除し早期リターン if(isset($nsfwApiResponse['error_code'])){ $this->deleteUploadedImage($fileName); return new NsfwErrorResponseDomain( $nsfwApiResponse['error_code'], $nsfwApiResponse['error_reason'], $nsfwApiResponse['url'] ); }
fargateにデプロイされたコンテナにAPIリクエストを送る処理
public function sendNsfwApiRequest(string $s3Path) :array { $prefix = 'http://'.config('fargate.task_ip_address').':5000'; $suffix = '/?url='. urlencode($s3Path); $endPoint = $prefix.$suffix; $jsonString = $this->httpClient->get($endPoint); return json_decode($jsonString, true); }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::pictures-local/*", "Condition": { "IpAddress": { "aws:SourceIp": [ <端末のIPアドレス>, <Fargate taskに紐づいているIPアドレス> // 追加したやつ ] } } } ]
}
対応Issue
エロ画像がアップロードされないようにしたい
やったこと
nsfw apiによりエロ画像と判定された画像がアップロードされたら以下の処理を走らせる。
updateメソッド本体
fargateにデプロイされたコンテナにAPIリクエストを送る処理
その他考慮したこと
}