2011-10-26 80 views
3

當某些條件滿足時,我想向用戶發送一個「403 Forbidden」HTTP狀態碼,但是我找不到在typoscript中修改HTTP標頭的任何可能性。我是否錯過了一些東西,或者對於錯字是否真的不可能?如何發送帶有輸入法的HTTP狀態碼?

我正在使用Typo3 4.5.6。

+0

我做了一些研究,但只要我能找到,這是不可能的Typo腳本。 – Sebs

回答

5

可以發送包含typoscript的HTTP標頭。在你的情況,這將是:

config.additionalHeaders = HTTP/1.0 403 Forbidden 

唯一的問題是需要的任何後續代碼的執行將停止,但Typo腳本不提供exit()函數或類似。所以,最簡單的方法是使用USER_INT功能:

page = PAGE 

//condition 
[browser = msie] 
    //send HTTP 403 and exit 
    includeLibs.user_httpheaders = fileadmin/templates/php/user_httpheaders.php 
    page.1 = USER_INT 
    page.1.userFunc = user_httpheaders->user_main 
[global] 

儘管文件user_httpheaders.php包含:

<?php 

    class user_httpheaders { 

     public function user_main() { 
      header('HTTP/1.0 403 Forbidden'); 
      exit; 
     } 

    } 

?> 
+0

我喜歡'[瀏覽器= msie]'的條件'' – Mateng

+0

[browser = msie] && [version = <7]更寬容 –