在Yii中,我找到了一種方法來限制訪問我的控制器操作的url僅限於'http'。我正在考慮如何以Yii方式獲取url,以便我可以將我的代碼放入數組的'表達式'屬性中。如何僅在訪問規則數組中允許'http'
0
A
回答
1
你可以在你的基地控制器(components/Controller.php
)寫一個過濾器的方法:
public function filterOnlyHttp($filterChain = null) {
if (Yii::app()->request->isSecureConnection) {
$this->redirect('http://'.$_SERVER['HTTP_HOST'].Yii::app()->request->requestUri);
}else
$filterChain->run();
}
會重定向你https://
到http://
請求。您可以在filters()
方法在控制器配置該過濾器特定的控制器操作:
public function filters()
{
return array(
'httpOnly',
);
}
如果您一般要重定向所有您https
的請求,那麼你也可以把上面的if
(不else
部分)寫入components/Controller.php
的基本控制器的init()
方法中。
+0
這是我正在尋找的方法。謝謝! –
-1
嘗試defaultScheme/validSchemes
陣列( 'URL', 'URL', 'defaultScheme'=>的 'http')
陣列( 'URL', 'URL', 'validSchemes'=>陣列( 'HTTP'));
相關問題
- 1. 訪問規則:允許基於訪問規則的只讀/讀寫訪問
- 2. 訪問控制 - 允許來源不允許訪問http:// localhost
- 3. 如何在CORS訪問控制 - 允許源中包含http://foo.local?
- 4. AWS S3僅允許Cloudfront訪問
- 5. ADFS聲明規則僅允許通過AD中的特定安全組進行訪問
- 6. 如何僅允許訪問postgresql中的kubernetes窗格?
- 7. 動態允許訪問不同的權限規則 - ACL LARAVEL
- 8. htaccess的阻止訪問.PHP只允許帶有重寫規則
- 9. 允許時期規則Laravel
- 10. 允許基於HTTP訪問htaccess:X-FORWARDED-FOR
- 11. AngularJS MySQL REST - 訪問控制 - 允許來源不允許訪問http:// localhost:8383
- 12. 訪問控制 - 允許來源不允許訪問來源http://example.com
- 13. XHR錯誤:訪問控制 - 允許來源不允許訪問http:// localhost
- 14. 訪問控制 - 允許來源不允許來源http:// localhost
- 15. 訪問控制 - 允許來源的HTTP DELETE不允許來源
- 16. 如何編寫重寫.htaccess規則以允許新文件夾訪問?
- 17. 如何允許在localhost之外訪問
- 18. 正則表達式,僅允許數字
- 19. 如何允許在警予模型規則僅英文字符的文本框
- 20. 如何僅允許API訪問android或ios應用程序(laravel)?
- 21. 如何僅允許訪問單個文件?
- 22. 如何僅允許來自特定域的訪問者?
- 23. 如何使用robots.txt僅允許抓取工具訪問index.php?
- 24. 如何僅允許從站點主頁訪問輔助文件?
- 25. (htaccess)如何僅允許從網站訪問頁面?
- 26. 如何僅允許自己的頁面訪問API?
- 27. 如何僅允許授權客戶端訪問對象屬性
- 28. 規則,允許在.htaccess文件夾
- 29. 允許串僅在正則表達式
- 30. 如何在node.js中允許http?
使用.htaccess,你可以限制你所有的URL在裏面。 –