How to get session variable/data outside of laravel project? - php

Is there any way to get session variable/data outside of the laravel application?
I have a project in core php (e.g: myproject) directory and now I want to signup/signin from laravel which will be placed in internal directory (e.g: myproject/laravel). I want to get signed-in user's details through session in myproject directory.
Is there any way/alternate for that?

You will have to add session_start(); in public/index.php on the top.
After that still need to set your external sessions in the classic way $_['mysession'] = 'something';. Remember that this will not work if you want to access auth() methods outside Laravel.

Related

I had created folder in the root directory of laravel on level of app but cannot get the laravel session in that folder files

app
config
bootstrap
resources
new folder
As you can see the level of my new folder is at the root level. The issue is how can I get all the Laravel functionality like helper function and session.
I had created a file called index.php inside my new folder and try to get the helper function and some session value in this index file in which I am using some core PHP functions which are working properly but can't get anything from the Laravel function.
Can someone help with this issue?

Laravel, protecting a folder in public folder

I have a folder inside the public folder in Laravel app, this folder is called 'docs' and I want to protect it from unauthorised access. So basically when a user tries to access this folder they should get redirected to the login page. I tried doing this:
Route::get('\docs','DocsController#protected')->middleware('auth');
But Laravel doesn't even get triggered and the user goes directly to the folder.
You can use .htaccess file to protect this folder. But IMHO the better way is to move this folder from public, and access the docs using php code (using something like thephpleague/flysystem).

How to get access of env() method in base_path() files?

REPHRASED QUESTION
Please atleast check this out https://github.com/vipertecpro/simplesamllaravel.git
it might help others to implement saml integration in laravel.
I've been trying to implement azure saml login integration in laravel so i came across this https://simplesamlphp.org/ , now I've downloaded the whole repo. and put it into my public folder and it's working great, but it's vulnerable so i decided to put it into laravel root directory so that i can get access to environment variable or other laravel helper methods, i've been searching alot how can i get hold onto laravel helper methods inside public folder, but unfortunately it doesn't work , so i decided to put saml repo. into my laravel root directory to get access of laravel helper methods.
so here i am stuck with this problem.
am i clear now ?
Here is the screen shot of my project directory
Problem : I've have many config files which needs to be set as per ENV file, i just couldn't figure it out how can i get use of environment variables into samllogin directory.
Here is what i've tried in my _include.php file which is the root of samllogin directory
require_once '../vendor/autoload.php';
// require_once '../vendor/laravel/framework/src/Illuminate/Foundation/helpers.php';
echo env('APP_URL');
die();
I'm very close to resolve this. Any help or reference appreciated.

Codeigniter how to access views/web pages from third party folders

I am in the process of installing SimpleSAML and in the php library, there is a folder called www that has index.php. According to the docs, there is an admin console within it. However, at the moment I am unable to access it via the url www.website.com/third_party/simplesaml/www/index.php.
I am supposed to use the admin console to generate some metadata so I'm just wondering if it is possible to route to a view from there?
I'm thinking that I create a controller and just hard link $this->load->view('url to www') but I'm not sure if that works.
In controller’s constructor add
include APPPATH . 'third_party/simplesaml/www/index.php';
to include the file in your project.
you can set base path in route file and instead of $this->load->view() you can use renderView() function to access view in codeigniter.

Where should my users folder be in a Slim 3 project?

I'm currently building a simply file hosting script using Slim 3. Currently I have my users folder on the same level as my public directory. Now that I'm attempting to access the files inside the user folder I'm getting errors caused by my document root not being able to access my users folder. Would it be a better idea to put my users folder inside my public folder because technically that would be public info to the logged in user?
It depends on what these files are - If they are only for the specific user or if they are available to all users.
When the files has to be private you can not put them into public, simple because everyone could hack url and get access to them. So you should put them in any data directory and make them available using an endpoint like /file/{username}/{name}.
In such endpoint you can easily append Header about filetype or if it should download or try to show in the browser window.
Whatever you make publicly available to the web server will be handled by default as any other asset:
Its URL is based upon the actual file name
If you know the URL you can download it
If it's a .php file it will be executed
You can certainly address all this concerns (and some of them may not even be concerns for your use case) but I don't think this is the ideal layout for a typical user-managed directory tree. Your current approach makes more sense to me.
To access such files you need to create a proper download script that makes all the appropriate checks (e.g. access checks), matches file system stuff from URLs and serves the assets as static files. In Slim that means creating a route with parameters and writing a handler function that does all this stuff.

Categories