2017-04-07 48 views
-1

我包含一个php文件,通过userFunc并希望给出get参数“?session_start = 1”并在函数中使用它。TYPO3 userFunc给GET参数给php文件

TS:

includeLibs.voucher = fileadmin/php/shop_init.php 
lib.phpscript = USER 
lib.phpscript.userFunc = voucher->init 
lib.phpscript.session_start_var = GP:session_start 

php文件

<?php 
class voucher { 
public function init($content ="", $conf){ 

$session_start = $conf['session_start_var']?t3lib_div::_GP($conf['session_start_var']):false; 



$lang_id = ($GLOBALS['TSFE']->sys_language_uid == 0 ? "&lang=de" : "&lang=en"); 
if($_GET["session_start"] == "" && $_GET["tx"] == "" && strpos($_SERVER['HTTP_USER_AGENT'], 'Safari')){ 

    if($_GET["type"] == 1) 
    die(header("Location:http://xx.pro/post?shop=1&s=1&referer=http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]$lang_id")); 
    elseif($_GET["type"] == 2) 
    die(header("Location:http://xx.pro/post?shop=2&s=1$lang_id")); 
    elseif($_GET["type"] == 3) 
    die(header("Location:http://xx.pro/post?shop=3&s=1$lang_id")); 
    else 
    die(header("Location:http://xx.pro/post?s=1$lang_id")); 

} 

return "<iframe id='frame-one' scrolling='no' frameborder='0' style='".($_GET["type"] == "" ? "height:1640px;" : "height:1640px;")." width:100%;' src='http://xx.pro/post/index.php?view=".$_GET["view"]."&tx=".$_GET["tx"]."&st=".$_GET["st"]."&amt=".$_GET["amt"]."&type=".$_GET["type"]."$lang_id' ></iframe>"; 
} 
} 
?> 

当我回声$在session_start输出= GP:提前在session_start而不是1

THX

+0

所以,它又是你。而且你仍然试图通过一些回环漏洞将这些PHP代码打包到TYPO3中,这是一个应该早已被移除的史前技术。无论所有缓存和TYPO给你的任何安全措施,用双脚跺脚。这个实际的普通代码可以通过跨站点脚本攻击来利用。只要学习如何编写一个实际的扩展,它并不是很难。无论如何,你到底在做什么?抓住所有请求并重定向它们,一些基于语言?多德。 TYPO3内置多种语言功能。 – j4k3

回答

0

我想你分配GP错误,请尝试像这样:

includeLibs.voucher = fileadmin/php/shop_init.php 
lib.phpscript = USER 
lib.phpscript.userFunc = voucher->init 
lib.phpscript.userFunc.session_start_var = TEXT 
lib.phpscript.userFunc.session_start_var.data = GP:session_start