tp框架防止登陸後敲擊地址進入後台
<?php namespace AdminController; use ThinkController; class IndexController extends Controller { public function index(){ $this->display(); } public function login(){ $username = I('username'); $password = I('password'); $user = D('User'); $res = $user->where(array('username'=>$username))->find(); // dump($res);die; if(!$res || md5($password) != $res['password']){ $this->error('用户名或密码错误'); }else{ session('username',$res['username']); session('id',$res['id']); session('create_time',$res['create_time']); //dump(session());die; $this->redirect('/Admin/Main/index'); //跳转到后台管理 } } //清空 public function loginout(){ session(null); //dump(session()); $this->redirect('/Admin/Index/index'); } }
<?php //后台页面的控制器 namespace AdminController; use ThinkController; class MainController extends Controller { public function index(){ $this->display(); } }
應該怎麼判斷,在地址列敲地址不能隨意進入登陸頁或後台系統
回复內容:
<?php namespace AdminController; use ThinkController; class IndexController extends Controller { public function index(){ $this->display(); } public function login(){ $username = I('username'); $password = I('password'); $user = D('User'); $res = $user->where(array('username'=>$username))->find(); // dump($res);die; if(!$res || md5($password) != $res['password']){ $this->error('用户名或密码错误'); }else{ session('username',$res['username']); session('id',$res['id']); session('create_time',$res['create_time']); //dump(session());die; $this->redirect('/Admin/Main/index'); //跳转到后台管理 } } //清空 public function loginout(){ session(null); //dump(session()); $this->redirect('/Admin/Index/index'); } } <?php //后台页面的控制器 namespace AdminController; use ThinkController; class MainController extends Controller { public function index(){ $this->display(); } }
應該怎麼判斷,在地址列敲地址不能隨意進入登陸頁或後台系統
在Index控制器的__initialize方法中,判斷你的session有沒有被賦值。沒有跳到登入。
具體參考
TP框架__initialize方法
看你的意思應該是不想讓別人進入後台 也就是登陸頁都不讓進去吧?如果是可以試試設定可以存取的模組 如果想判斷這個人登陸沒登陸那就是判斷session了
給你點資料你試試如果可以你就部署到伺服器的設定下本地就不要設定了
禁止訪問模組
3.2对模块的访问是自动判断的,所以通常情况下无需配置模块列表即可访问,但可以配置禁止访问的模块列表(用于被其他模块调用或者不开放访问),默认配置中是禁止访问Common模块和Runtime模块(Runtime目录是默认的运行时目录),我们可以增加其他的禁止访问模块列表: // 设置禁止访问的模块列表 'MODULE_DENY_LIST' => array('Common','Runtime','Api'), 设置后,Api模块不能通过URL直接访问,事实上,可能我们只是在该模块下面放置一些公共的接口文件,因此都是内部调用即可。 设置访问列表 如果你的应用下面模块比较少,还可以设置允许访问列表和默认模块,这样可以简化默认模块的URL访问。 ***'MODULE_ALLOW_LIST' => array('Home','Admin','User'),*** 'DEFAULT_MODULE' => 'Home', 设置之后,除了Home、Admin和User模块之外的模块都不能被直接访问,并且Home模块是默认访问模块(可以不出现在URL地址)。
登入頁都不讓進,後台系統怎麼登入呢
其實是判斷有無驗證的問題.
TP可以寫一個基類(BaseController
), 然後所有需要驗證的控制器, 都應該繼承這個基類.
isAuth()) { $this->redirectToLogin(); } } private function isAuth() { //验证是否登录 } private function redirectToLogin() { //跳转到登录页面 } }
例如, 後台有一個管理員控制器
class AdminController extends BaseController { public function __construct() { parent::__construct(); } }
這是TP的做法, 但是像symfony這樣的框架, 自帶了驗證類, 可以很方便地進行http驗證, accesstoken驗證和自訂驗證方式.
登入頁不讓進是不可能的,否則你的業務人員都登不上去。如果你的前後台是同一套使用者係統,那就驗證前台登入使用者是否有進入背景的權限,沒登入就正常顯示登入頁就好了,只要別讓搜尋引擎把你的後台登入位址抓過去就行
寫個公用函數判斷是否為登入狀態
function isLogin(){ if(I('session.uid')){ return true; }else{ return false; } }
然後在後台控制器的__initialize方法裡寫
if(!isLogin()){ $this->redirect('/login') //重定向到登录页 }

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
