我創建了一個登錄頁面,用戶在其中使用他們的憑據登錄,即 PatientId 和 contactNumber,但在登錄后,CSRF 令牌也顯示登錄憑據以及令牌。此外,我正在使用 API 進行登錄和其他內容。這是我得到的輸出:http: //127.0.0.1 :8000/login1?_token=BugYniw96HnJ6C8gjjcpzSruW0CwDdq8JW7kD7Oz&patientId=33488&contactNumber=08732837489
這是我的登錄刀片檔案:
<form method="GET" action="{{route('login1')}}" name="myForm" class="login100-form validate-form" >
<input type="hidden" name="_token" value="{{ csrf_token()}}">
<span hljs-string">">
User Login
</span>
<div hljs-string">" data-validate="Mr.No is required">
<input hljs-string">" name="patientId" id="patientId" placeholder="Enter MR Number" >
<span hljs-string">"></span>
<span hljs-string">">
<i hljs-string">" aria-hidden="true"></i>
</span>
</div>
<div hljs-string">" data-validate="Contact Number is required">
<input hljs-string">" name="contactNumber" id="contactNumber" placeholder="Enter Contact Number">
<span hljs-string">"></span>
<span hljs-string">">
<i hljs-string">" aria-hidden="true"></i>
</span>
</div>
<div hljs-string">">
<button hljs-string">" type="submit">
Login
</button>
</div>
<div hljs-number">136">
<a hljs-string">" href="#">
</a>
</div>
</form>
這是一個網路路由檔案:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\MainController;
use App\Http\Middleware\VerifyCsrfToken;
Route::get('/', function () {
return view('login1');
});
Route::get('/login1', [MainController::class, 'successlogin'])->name('login1');
這是我的控制器檔案:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\SessionClass;
use Illuminate\Support\Facades\Http;
use App\Http\Controllers\HostClass;
use Illuminate\Support\Facades\Session;
class MainController extends Controller
{
public function successlogin(Request $req)
{
$host = new HostClass();
$obj = new SessionClass();
$obj->sethalfpatientId($req->patientId);
$response = Http::post($host->getserverIp().'/patientInformation',[
"patientId"=> $req->patientId,
"contactNumber"=> $req->contactNumber,
"orgId"=>"332",
"sessionId"=> "3"
]);
$data = json_decode($response, true);
if($data == null){
echo "error";
$notification = array(
'message' => 'User Does not Exists!',
'alert-type' => 'error'
);
return back()->with($notification);
}
else{
$obj->setpatientId($data['patientId']);
$obj->setcontactNumber($data['contactNumber']);
$response2 = Http::post($host->getserverIp().'/searchPatientReports',[
"patientId"=> $obj->getpatientId(),
"departmentId"=> "128"
]);
$data2 = json_decode($response2, true);
$response3 = Http::post($host->getserverIp().'/patientVisits',[
"patientId"=> $obj->getpatientId()
]);
$data3 = json_decode($response3, true);
Session::put('user', $data);
$listappointment = ($data['listAppointments']);
return view('dashboard', compact(['data','data2','data3','listappointment']));
}
}
uj5u.com熱心網友回復:
使用 POST 方法,因此資料不會顯示在 url
<form method="POST" action="{{route('login1')}}" name="myForm" class="login100-form validate-form" >
并更改路由以接受 post 方法
Route::post('/login1', [MainController::class, 'successlogin'])->name('login1');
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/519585.html
標籤:拉拉维尔apilaravel-8csrfcsrf 令牌
