我使用Yii2 php框架设置了一个cms应用程序。但是,我遇到过这样的情况:如果用户可以创建包含图像或文档的帖子,她/他可以在WYSIWIG编辑器中查看该帖子的html源代码,并将src链接更改为其他用户的内容。例如,如果Fred的链接看起来像这样userfiles / fred / myimage.png他可以查看html源代码并将其更改为userfiles / john / anotherimage.png。
我怎样才能让Fred只能在他的cms帖子中使用相对Url访问userfiles / fred?
我曾尝试过研究.htaccess,但我对如何将其应用于登录到我的应用程序的特定用户感到困惑。
答案 0 :(得分:0)
@web
,而是更高级别编写自定义操作,流式传输所请求的文件。你可以在这里处理权限(Yii::$app->user->can('doit')
),发送可以是:
if (file_exists($filename)) {
Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
Yii::$app->response->headers->add('Content-Type', FileHelper::getMimeTypeByExtension($filename));
Yii::$app->response->headers->add('Content-Length', filesize($filename));
return file_get_contents($filename);
} else {
throw new yii\web\NotFoundHttpException($filename);
}