Jump to content
Sign in to follow this  
MrFilipe

CMS E107

Recommended Posts

MrFilipe

Boas pessoal,

Gostaria que me ajudassem...

Eu fiz um formulário me php e coloquei-o no E107, através deste código

<?php
//código do e107
require_once('../class2.php');
require_once(HEADERF);
?>


<?php
//código do e107
/* enter your own code here */
$caption = "This is the caption of the page";
$text = "and this is the main text of the page!";
?>


Aqui esta o meu form com o código que criei.

<?php
//código do e107
            $ns->tablerender($caption, $text);
            require_once(FOOTERF);
?>

O problema é que ao clicar no submit aparece-me Access Denied, qual será o problema ??

Relembro que o código acima é para colocar uma pagina personalizada no e107 e depois ser chamada...


Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Provavelmente será nalguma validação presente no ficheiro class2.php (que se encontra na pasta acima da desse ficheiro).

Share this post


Link to post
Share on other sites
MrFilipe

Mas será que nao tem nada a ver com o código que fiz do form?? Ou do button?? Ou algo do género?


Abraço.

Share this post


Link to post
Share on other sites
MrFilipe

Mas poderias me dizer mais alguma coisa como devo retirar este erro ?? Ja sei que possivelmente terá a ver com a class2.php, certo?


Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Certo, tens que mostrar o conteudo do ficheiro class2.php para que possa dizer mais alguma coisa em concreto :confused:

Share this post


Link to post
Share on other sites
MrFilipe

O conteúdo do ficheiro class2.php é bastante extenso, envio à mesma??


Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Vou fazer o download, mas para que saibas, o melhor para isso é o http://pastebin.com/

;) assim até posso alterar e tu visualizares as alterações ao código.

Abraço

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Ok... eu não percebo nada do E107, mas vamos experimentar uma coisa... No teu código, altera para:

<?php
//código do e107
require_once('../class2.php');
require_once(HEADERF);
?>


<?php
//código do e107
/* enter your own code here */
$caption = "This is the caption of the page";
$text = "and this is the main text of the page!";
ob_start();
?>


Aqui esta o meu form com o código que criei.

<?php
$text = ob_get_clean();
//código do e107
            $ns->tablerender($caption, $text);
            require_once(FOOTERF);
?>

Share this post


Link to post
Share on other sites
MrFilipe

Ok, ou seja tento e vejo se dá access denied, certo??


Abraço.

Share this post


Link to post
Share on other sites
MrFilipe

Com o código que me forneceste aparece na mesma o access denied, depois de fazer o submit do form


Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Ah... so aparece o Access Denied se fizeres submit do form? Então mostra o código do form sff...

Abraço

Share this post


Link to post
Share on other sites
MrFilipe

Quer dizer nao aparece só no form, também aparece numa tabela onde contenho dados, e quando faço next, para ver mais dados da tabela também da access denied.

Eu estou a usar o Dreamweaver para fazer isto, será que o problema estará ai?


Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

:x assim não te consigo ajudar ... :S esse access denied pode ser em pelo menos 2 sítios da class que enviaste.

No ficheiro class2.php altera, o seguinte:

Na linha 196

# Tens:
die("Access denied.");

#Altera para:
die("Access denied. ERRO DE CARACTERES ESPECIAIS NO URL");

Na linha 467:

#Tens:
die('Access denied');

#Alteras para:
die('Access denied. ERRO DE SESSÃO');

Depois voltas a correr o teu form e diz-me como aparece o erro ;)

Share this post


Link to post
Share on other sites
MrFilipe

Fiz como me tinhas indicado e aparece o erro: Access denied. ERRO DE CARACTERES ESPECIAIS NO URL   

ou seja

Na linha 196

die("Access denied. ERRO DE CARACTERES ESPECIAIS NO URL");


Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

Desculpa só responder agora, mas estive ocupado...

... ok... isso signifca que tens 'caca' no URL....

Mostra-me o endereço (URL) da página que estás a visualizar quando esse erro acontece. ;)

Abraço.

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

OMFG....

Estive a investigar um pouco....

O ficheiro class2.php tem isto:

# Linha 105
e107_ini_set('arg_separator.output',     '&');

# Linha 192 a  200
$inArray = array("'", ";", "/**/", "/UNION/", "/SELECT/", "AS ");
if (strpos($_SERVER['PHP_SELF'], "trackback") === false) {
foreach($inArray as $res) {
	if(stristr($_SERVER['QUERY_STRING'], $res)) {
		die("Access denied.");
	}
}
}
unset($inArray);

Sinceramente, há programadores que deviam ter umas aulas de algoritmia e análise (estou a falar dos programadores do E107)...

... Então primeiro definem o separador dos argumentos da query string como '&' .... e depois vão procurar na query string por ';' e se tiver, dá ACCESS DENIED!?!?!?!?

:) E isto é um produto acabado?!?!

Anyway, podes efectuar a seguinte correcção (parcial... ou seja só para safar...) ...

Substituis este codigo:

$inArray = array("'", ";", "/**/", "/UNION/", "/SELECT/", "AS ");
if (strpos($_SERVER['PHP_SELF'], "trackback") === false) {
foreach($inArray as $res) {
	if(stristr($_SERVER['QUERY_STRING'], $res)) {
		die("Access denied.");
	}
}
}
unset($inArray);

Por:

$inArray = array("'", ";", "/**/", "/UNION/", "/SELECT/", "AS ");
if(strpos($_SERVER['PHP_SELF'], "trackback") === false)
foreach($inArray as $res)
	if(stristr($_SERVER['QUERY_STRING'], $res))
                    if( ($res != ';') || stristr(preg_replace("/(\&\w+\;)/i","",$_SERVER['QUERY_STRING']), $res) )
                        die("Access denied. $res");
unset($inArray);

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.