sql >> データベース >  >> RDS >> Mysql

Laravel5.1アップロードファイルのセキュリティ

    FormRequestを作成します 次のコマンドを発行してオブジェクトを作成します:

    php artisan make:request YourFormRequest
    

    さて、あなたのルールメソッドで:

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'filename' => 'mimes:pdf,doc,jpeg,png,docx',
            // and other validation rules...
        ];
    }
    

    次に、コントローラーを更新します:

    /**
     * Store the form values.
     * Don't forget to import the YourFormRequest class
     *
     * @param \App\Http\Requests\YourFormRequest $request
     * @return \Illuminate\Http\Redirect|string
     */
    public function store(YourFormRequest $request)
    {
        if($request->file('filename')) {
            $file = $request->file('filename');
    
            $fileName = $file->getClientOriginalName();
            $fileExt  = $file->getClientOriginalExtension();
            $fileMime = $file->getClientMimeType();
    
            // and rest of the file details
    
            // Move the file now
            $updatedFileName = $fileName.'.'.$fileExt;
            $file->move('path/to/destination/folder', $updatedFileName);
    
            // or using the Storage class, it is the same
            // as what you have written.
        }
    }
    

    更新1:

    YourFormRequest ファイル、authorizeメソッドを置き換えます:

    /**
     * Authorize the request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true; // replace false with true.
    }
    

    これがお役に立てば幸いです。乾杯。




    1. PostgreSQLで読み取り専用ユーザーを作成する方法

    2. PHPテーブル(日付)有効性に基づく動的な色の変更

    3. DISTINCT ON query w /ORDERBY列の最大値

    4. ORACLE:LEFTJOINを使用するとマテリアライズドビューが機能しない