MrFilipe Posted May 7, 2011 at 04:28 PM Author Report Share #386121 Posted May 7, 2011 at 04:28 PM Aparece na mesma "Access Denied" 😉 e o link agora aparece desta forma: http://localhost/e107/Reserva/DtReserva.php?reservaid=4&profID=100-201&turmaID=2D&protur=1 Ora bem eu apenas fiz o que disseste que era substituir aquele código da linha 192. Será que é necessário alterar mais alguma coisa?? Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 7, 2011 at 06:01 PM Report Share #386131 Posted May 7, 2011 at 06:01 PM MrFilipe.... Não era só a linha 192.... Presumo que tenhas mesmo substituído este codigo todo: $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); De qualquer forma.... Aconselho-te o seguinte... na 1ª linha do ficheiro class2.php vais fazer: $_SERVER['QUERY_STRING'] = strip_tags(html_entity_decode($_SERVER['QUERY_STRING'])); Se mesmo assim não der... pah, aconselho-te a mandares esse cms para outro sitio 😉 Link to comment Share on other sites More sharing options...
MrFilipe Posted May 7, 2011 at 06:28 PM Author Report Share #386136 Posted May 7, 2011 at 06:28 PM Deixa ver se entendi nao substituiu nada, mas acrescento na primeira linha de código isto: $_SERVER['QUERY_STRING'] = strip_tags(html_entity_decode($_SERVER['QUERY_STRING'])); Ou seja para que ele corra em 1º este código acima, certo?? Quanto ao cms, o problema é que o trabalho ja esta quase todo feito neste cms, e mudar tudo agora é muito dificil 😉 Mais uma pergunta, coloco este código à mesma?? Abaixo $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); Eu já tinha substitui nao foi so a linha 192 foi a partir desta linha ate à 200. Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 7, 2011 at 06:57 PM Report Share #386141 Posted May 7, 2011 at 06:57 PM Deixa ver se entendi nao substituiu nada, mas acrescento na primeira linha de código isto: $_SERVER['QUERY_STRING'] = strip_tags(html_entity_decode($_SERVER['QUERY_STRING'])); Sim ele deve correr isso na primeira linha do ficheiro class2.php $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); Se ja substituiste, então já não precisas de colocar esse código 🙂 Link to comment Share on other sites More sharing options...
MrFilipe Posted May 7, 2011 at 07:04 PM Author Report Share #386142 Posted May 7, 2011 at 07:04 PM Ta a funcionar lindamente 😁 Só tem é um pequeno problema é que este trabalho está feito por passos, ou seja, um sistema de reservas. E existe uma tabela onde vai buscar os dados todos a base de dados consoante os parâmetros que são levados, ou seja, existe uma consulta em sql para que isso aconteça. O problema é, essa tabela tem muitos dados, por isso é necessário clicar num link para mostrar mais dados, tipo next. Anteriormente também dava access denied, e agora aparece os primeiros dados, mas se clicar em next, não apresenta nada, e se clicar em anterior também não aparece nada, como que se perdesse os dados 🙂 . O que será necessário para resolver isto?? Mas desde já muito obrigado 😉 Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 9, 2011 at 09:42 AM Report Share #386356 Posted May 9, 2011 at 09:42 AM Experimenta comentar esta linha, na class2.php: e107_ini_set('arg_separator.output', '&'); Link to comment Share on other sites More sharing options...
MrFilipe Posted May 9, 2011 at 01:36 PM Author Report Share #386407 Posted May 9, 2011 at 01:36 PM Coloquei como comentário a linha que indicas-te e não dá na mesma 👍 Que poderá ser? Abraço. Link to comment Share on other sites More sharing options...
MrFilipe Posted May 9, 2011 at 01:49 PM Author Report Share #386413 Posted May 9, 2011 at 01:49 PM Eu só agora é que reparei com o código que me forneceste para eu colocar na 1º linha do código : $_SERVER['QUERY_STRING'] = strip_tags(html_entity_decode($_SERVER['QUERY_STRING'])); e está a funcionar... Só que há um problema é que depois já não me envia os parâmetros(turmaID e portur) 👍 o link depois de sbmuter o form fica: http://localhost/e107/Reserva/DtReserva.php?reservaid=9&profID=100-201&turmaID=2D&protur=1, aparece assim e não dá access denied. O problema esta que quando eu avanço outra página ele perde completamente os parâmetros turmaID e protur como esta no link abaixo: http://localhost/e107/Reserva/MHorario.php?profID=100-201&turmaID=&data=2011-05-10&reservaid=9&datar=2&protur= O será necessário fazer?? De resto ele envia tudo os parâmetros bem... Por que razão é que deixa de enviar só estes dois parâmetros?? Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 10, 2011 at 02:38 PM Report Share #386620 Posted May 10, 2011 at 02:38 PM Sinceramente, não sei que te diga -.- Gostava muito de te ajudar mas isso são coisas que só os gajos do E107 te poderão responder. Eu testei aqui (sem E107) e em modo normal deveria ficar assim -.- o código deles não é SEQUER coerente.... mas isso sou eu que digo :S Lamento, mas as dicas que te dei so te servem para passar alguns obstáculos... No entanto deves fazer na maneira correcta e para tal deves consultar a wiki do E107... desculpa mas para esse CMS não consigo ser útil Link to comment Share on other sites More sharing options...
MrFilipe Posted May 10, 2011 at 03:13 PM Author Report Share #386634 Posted May 10, 2011 at 03:13 PM Obrigadão a mesma 😞. Andei a testar uma coisinhas e já consegui solucionar o problema dos parâmetros... O problema agora mesmo é naquela tabela que perde os dados quando faço next, será que não tens outra ideia para solucionar este problema, já o tinha indicado acima e tu disseste para colocar isto em comentário: e107_ini_set('arg_separator.output', '&'); , que esta na linha 106 da class2.php, certo?? Será que não há maneira para desenrascar este problema da tabela?? Pah, mas fica desde já, FOSTE UMA GRANDE AJUDA 👍 Sem ti ainda estava com aquilo do access denied. Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 10, 2011 at 03:25 PM Report Share #386639 Posted May 10, 2011 at 03:25 PM sim eu disse-te para comentares essa linha, porque o CMS converte os & para & no teu url.... só que como nós reconvertemos para o estado normal (com aquela linha que te disse para pôres no inicio do ficheiro) essa configuração já não estava correcta .... Quanto ao resto... :/ Pah nem sei porque é que essa tabela dá raia a fazer next -.- :/ Link to comment Share on other sites More sharing options...
MrFilipe Posted May 10, 2011 at 04:26 PM Author Report Share #386666 Posted May 10, 2011 at 04:26 PM Pois, é que aquilo serve para listar muitos dados, e eu coloquei tipo next para mostrar sempre mais do que aquelas que mostra inicialmente... É que antes ao clicar em next aparecia access denied e agora nao aparece nada, por isso devemos estar perto do "rato". Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 10, 2011 at 04:51 PM Report Share #386673 Posted May 10, 2011 at 04:51 PM qual eh o link que tens no next ? Link to comment Share on other sites More sharing options...
MrFilipe Posted May 10, 2011 at 05:01 PM Author Report Share #386675 Posted May 10, 2011 at 05:01 PM Assim aparece antes de clicar no next, ou seja como deve de aparecer... http://localhost/e107/Reserva/MCalendario.php?profID=290-198&turmaID=&dia=2&tempo=1&data=2011-05-10&reservaid=19&protur= Depois de clicar no next aparece assim : http://localhost/e107/Reserva/MCalendario.php?pageNum_Recordset1=1&totalRows_Recordset1=57&profID=290-198&turmaID=&dia=2&tempo=1&data=2011-05-10&reservaid=19&protur= PS: Não ligues ao turmaID e protur sem parâmetros, ainda tenho de alterar isso, porque é desnecessário... Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 10, 2011 at 05:07 PM Report Share #386676 Posted May 10, 2011 at 05:07 PM hmmmm... Mostra-me o codigo do MCalendario.php sff ou anexa aqui, ou melhor ainda, coloca no: http://paste.portugal-a-programar.org/ que é para isso que ele serve Link to comment Share on other sites More sharing options...
MrFilipe Posted May 10, 2011 at 06:20 PM Author Report Share #386687 Posted May 10, 2011 at 06:20 PM ora bem esta aqui o código da pagina que pediste: http://paste.portugal-a-programar.org/pastebin.php?show=3999 Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 11, 2011 at 08:55 AM Report Share #386791 Posted May 11, 2011 at 08:55 AM Ora bem, Onde tens a linha: $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams)); Altera para: $queryString_Recordset1 = "&" . implode("&", $newParams); O mesmo desta: $queryString_RecordCalendario = "&" . htmlentities(implode("&", $newParams)); para esta: $queryString_RecordCalendario = "&" . implode("&", $newParams); Link to comment Share on other sites More sharing options...
MrFilipe Posted May 11, 2011 at 09:01 AM Author Report Share #386795 Posted May 11, 2011 at 09:01 AM Assim nao aparece nada 🙂 mesmo antes de clicar no next nao aparece nada. provavelmente não é nesse código... Espera não ligues a esta resposta que vou só ver uma coisa, se não der mando um novo, ok? Abraço. Link to comment Share on other sites More sharing options...
MrFilipe Posted May 11, 2011 at 09:26 AM Author Report Share #386805 Posted May 11, 2011 at 09:26 AM Ta a dar 5*... Muito obrigado por tudo, nem imaginas a ajuda que me deste. 🙂 És o rei :notworthy: Diz-me só uma coisa, explica só a mudança que fizeste se sff... Abraço. Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted May 11, 2011 at 09:35 AM Report Share #386815 Posted May 11, 2011 at 09:35 AM É a mesma lógica dos outros... O problema é que a função htmlentities() converte os caracteres especiais para a sua representação HTML.... Ora o que é que acontece? Acontece que estava a converter os teus & para & no url.... assim já não acontece, pois removeste a função htmlentities 🙂👍 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now