1、laravel怎麼獲取cookie
先檢查設置的cookie是否有被發送到伺服器,然後檢查取cookie的方法是否正確
2、laravel 5.4 怎麼用全局cookie
Cookie::make('test', 'hello, world', 10);
echo Cookie::get('test');如果你按照這種類似的回答來測試Cookie,肯定會發現設置cookie的值永遠都是null。多次測試無效下,你都會懷疑自己的Laravel框架是不是有問題!
其實,在Laravel框架中使用Cookie,就不得不提到Response和Request。經常用瀏覽器調試程序的開發者可能會留意過,在請求地址的Response Headers和Request Headers中,都包含有cookie信息。沒錯,如果你在Laravel框架中使用Cookie都離不開Response和Request,下面我們就來介紹Cookie的正確添加和獲取方法。
Cookie::make()、Cookie::forever()、Cookie::get()的使用方法:
Route::get('cookieset', function()
{
$foreverCookie = Cookie::forever('forever', 'Success');
$tempCookie = Cookie::make('temporary', 'Victory', 5);//參數格式:$name, $value, $minutes
return Response::make()->withCookie($foreverCookie)->withCookie($tempCookie);
});
Route::get('cookietest', function()
{
$forever = Cookie::get('forever');
$temporary = Cookie::get('temporary');
return View::make('cookietest', array('forever' => $forever, 'temporary' => $temporary, 'variableTest' => 'works'));
});
//先上一個demo寫入cookie
$cookie = \Cookie('cookie_name', 'value', 5);
$data = ['title'=>'hello world'];
return \response()
->view('home.hello', $data)
->cookie($cookie);2、Cookie存儲數組:
Route::get('cookieset', function()
{
$user_info = array('name'=>'laravel','age'=>12);
$user = Cookie::make('user',$user_info,30);
return Response::make()->withCookie($user);
});
Route::get('cookietest', function()
{
dd(Cookie::get('user'));
});
3、laravel csrf token值存在cookie里有什麼意義
方法一
打開抄文件:襲app\Http\Kernel.php
把這行注釋掉:
'App\Http\Middleware\VerifyCsrfToken'
方法二
打開文件:app\Http\Middleware\VerifyCsrfToken.php
修改為:
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier {
/**
* Handle an incoming request.
*
4、如何共享laravel的session跟cookie
我這邊總結一下,也許以後有人會需要,
其實Laravel的session並不是用PHP自帶的session管理器。而是完完全全自己實現了一個。
注意是完完全全自己實現的,並不是傳統意義上用session_set_save_handler自定義的session處理器。
所以解決 和另一個ThinkPHP項目的session共用 的問題就很簡單了~
在Laravel中啟動PHP自帶的session就好了,也就是session_start。
這是他們的代碼注釋 "Note that the Laravel sessions do not make use of PHP "native" sessions in any way since they are crappy."
請記住Laravel在任何地方都沒有用到PHP「原生」的session,因為它很蹩腳。
好吧,我現在只要啟動蹩腳的session就好了。
by kankana
以上是如何從laravel訪問其他程序的session.
以下,則是如何從外部訪問laravel的session (file).
當laravel的session driver設置為file, 這些session files都是以json形式存放在app/storage/sessions裡面.
關鍵是,如何找到對應的session文件?
這個文件名是以加密形式存儲在cookie的laravel_session里.
如何解密laravel_session獲取這個文件名?
1, 首先安裝這個庫:
https://github.com/illuminate/encryption
2, 獲取加密key
位於app/config/app.php 的 key
3,
$encrypter = new Illuminate\Encryption\Encrypter($key);
$session_filename = $encrypter->decrypt($_COOKIE['laravel_session']);
大致如此.
5、laravel 為什麼我訪問兩個任意域名都跳到laravel文件中
yaml的map中不要使用tab,使用空格試試。什麼叫跳入文件中?給個圖?
6、laravel可否跨域寫入cookie
現在的項復目是前後制端分離,用的是laravel+vue組合,由於使用了微信授權登錄,在前端請求授權登錄時,後端完成跳轉微信授權登錄並跳轉回前端(此時需用cookie帶上token),由於目前前後端是不同的域名,這里涉及到跨域,不知laravel可否跨域寫入cookie?
比如現在前端的域名是wx.abc.com,然後後端介面的域名是api.bcd.com,微信授權登錄調轉回前端時可否用類似redirect('http://wx.abc.com/#/setCookie')->setCookie('token','xxxxx');?
7、laravel設置Cookies不生效怎麼解決
先檢查設置來的cookie是否有被發送到自伺服器,然後檢查取cookie的方法是否正確。laravel的cookie默認是加密的,如果使用PHP原生的「$_COOKIE」去獲取cookie是獲取不到的,必須使用「Cookie::get」。在響應里設置response('')->withCookie(cookie('name','laravel',1000))
8、laravel5.4 開發api 怎麼設置單獨域名
我用「應用之星」,開發手機APP,挺好的
-