Forum » Programiranje » laravel 5.1
laravel 5.1
wini ::
Živ. Če ima mogoče kdo kakšno izkušnjo z laravelom bi imel eno prošnjo.
In sicer, imam v public direktoriju pdf.php datoteko preko katere kličem pdf datoteke shranjene v storage-u.
To vse lepo prikazuje, ampak bi rad to zaščitil tako da če uporabnik ni prijavljen ne more odpret pdfjev.
npr če kot auth user pogledaš kodo, vidiš v source kodi link do tega pdf:
https://www.domena.si/pdf.php?file=id44...
torej če bi skopiral link do te dodateke in jo poslal nekomu, bi ta oseba lahko odprla iz urlja tale pdf.
Jst bi pa rad to zaklenil tako da bi rad dostopal do seje prijavljenega uporabnika, in naredil en if ki prikaže pdf oz napako da nisi prijavljen.
A mogoče kdo ve kako iz zunanjega php kličem pravilno sejo, oz $user->id ?
Hvala za pomoč
In sicer, imam v public direktoriju pdf.php datoteko preko katere kličem pdf datoteke shranjene v storage-u.
To vse lepo prikazuje, ampak bi rad to zaščitil tako da če uporabnik ni prijavljen ne more odpret pdfjev.
npr če kot auth user pogledaš kodo, vidiš v source kodi link do tega pdf:
https://www.domena.si/pdf.php?file=id44...
torej če bi skopiral link do te dodateke in jo poslal nekomu, bi ta oseba lahko odprla iz urlja tale pdf.
Jst bi pa rad to zaklenil tako da bi rad dostopal do seje prijavljenega uporabnika, in naredil en if ki prikaže pdf oz napako da nisi prijavljen.
<?php require '../bootstrap/autoload.php'; $app = require_once '../bootstrap/app.php'; //$app->boot(); $app->make('Illuminate\Contracts\Http\Kernel') ->handle(Illuminate\Http\Request::capture()); //session_start(); if ($_SESSION['IsAuthorized'] = true) { $path = realpath(dirname(__FILE__) . '/../storage/' . $_GET['file'] ); //// ostala navlaka da prebere pdf... header('Content-Type: ' . mime_content_type($path)); header('Content-Length: ' . filesize($path)); readfile($path); } else { echo 'Nimate pravic!'; } ?>
A mogoče kdo ve kako iz zunanjega php kličem pravilno sejo, oz $user->id ?
Hvala za pomoč
wini ::
Evo sem rešil sam zadevo ... pa prilepim rešitev če bo kdaj kdo potreboval.
Ker laravel dela drugače s sejami, ne moreš direktno klicat session_start ampak takole:
namesto Sentinel::getUser(); uporabi Auth::check(); če ne uporabljaš default auth class za avtentikacijo.
Ker laravel dela drugače s sejami, ne moreš direktno klicat session_start ampak takole:
namesto Sentinel::getUser(); uporabi Auth::check(); če ne uporabljaš default auth class za avtentikacijo.
<?php require '../bootstrap/autoload.php'; $app = require_once '../bootstrap/app.php'; $kernel = $app->make('Illuminate\Contracts\Http\Kernel'); $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); //$user = Sentinel::getUser(); if (Sentinel::guest()) { echo 'Za ogled datoteke se morate prijaviti!'; } else { $getuserid=Sentinel::getUser()->id; //var_dump($getuserid); $path = realpath(dirname(__FILE__) . '/../storage/uploads/'.$getuserid.'/'.$_GET['file'] ); //echo $path; if (!is_file($path)) { // file ne obstaja echo "Nimate pravic za ogled datoteke oz datoteka ne obstaja!"; exit(); } else { header('Content-Type: ' . mime_content_type($path)); header('Content-Length: ' . filesize($path)); readfile($path); } } ?>
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Ubuntu 18.04 nastavitev Remote desktopaOddelek: Pomoč in nasveti | 1160 (887) | gtu |
» | Php varen loginOddelek: Programiranje | 3953 (3453) | Volk| |
» | Excel - relative linkOddelek: Programska oprema | 1191 (1143) | Cold1 |
» | PHP login skriptOddelek: Izdelava spletišč | 2833 (1419) | Lion29 |
» | Kako omejiti dostop do URL-ja datoteke z geslomOddelek: Izdelava spletišč | 1276 (1168) | McAjvar |