karva Posted November 29, 2006 at 09:52 PM Report #67754 Posted November 29, 2006 at 09:52 PM <? $pagina = "http://localhost/link.php"; //localizacao da pagina $ligacao = mysql_connect("localhost","root",""); //ligacao a base de dados mysql_select_db("link", $ligacao); $action = $_GET['action']; //verificacao da accao a realizar switch ($action) { case "redir": $id = addslashes($_GET['id']); $query = mysql_query("SELECT * FROM link WHERE id = '$id'"); //query correspondente ao id do link $num = mysql_num_rows($query); if ($num < 1) { echo "Erro, ligação inexistente!"; //se o id nao existir } else { $endereco = mysql_result($query, 0, "link"); //passar o link para a variavel echo "<meta http-equiv=\"refresh\" content=\"0;url=$endereco\">"; //redireccionar } break; case "add": $hora = time(); $link = addslashes($_POST['link']); $query = mysql_query("INSERT INTO link (id, link, time) VALUES (NULL, '$link', '$hora')"); //inserir dados na base de dados if (!$query) { echo "Erro na inserção na base de dados.<br />Por favor contacte o administrador"; } else { $ver = mysql_query("SELECT * FROM link WHERE link = '$link' AND time = '$hora'"); //verificar o id atribuido pelo mysql $num = mysql_num_rows($ver); if ($num < 1) { echo "Erro! Por favor tente novamente."; } else { $id = mysql_result($ver, 0, "id"); echo "Endereço inserido com sucesso!<br />Pode testar o seu link aqui: <a href=\"$pagina?action=redir&id=$id\">Link</a>"; //ligacao para o link recem-criado } } break; default: //form de insercao echo "<form action=\"link.php?action=add\" method=\"post\" /> Insira o endereço a redireccionar:<br /> <input type=\"text\" name=\"link\" value=\"http://\"><br /> <input type=\"submit\" value=\"Submeter\" />"; } ?> Fica aqui a query para o mysql: CREATE TABLE `link` ( `id` int(12) NOT NULL auto_increment, `link` text collate latin1_general_ci NOT NULL, `time` int(64) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=11 ; Espero que curtam 😉 BUG detectado: se o endereço não começar por http:// , ele vai dar erro, vou tentar resolver o assunto Proud LEIC-A@IST student!
djthyrax Posted November 29, 2006 at 10:16 PM Report #67774 Posted November 29, 2006 at 10:16 PM O sistema parece-me porreiro, no entanto, faltam-lhe alguns comentários para compreenção e alguma organização do código para melhor leitura. 😉 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
karva Posted November 29, 2006 at 10:20 PM Author Report #67776 Posted November 29, 2006 at 10:20 PM O sistema parece-me porreiro, no entanto, faltam-lhe alguns comentários para compreenção done Proud LEIC-A@IST student!
Triton Posted November 29, 2006 at 10:23 PM Report #67780 Posted November 29, 2006 at 10:23 PM Ele refere-se por exemplo, à formatação do código, podia estar bem melhor, tudo organizado por níveis, etc... 😉 <3 life
karva Posted November 29, 2006 at 10:25 PM Author Report #67781 Posted November 29, 2006 at 10:25 PM pois, quanto a isso, sempre me disseram que sou muito desorganizado... Proud LEIC-A@IST student!
Triton Posted November 29, 2006 at 10:29 PM Report #67784 Posted November 29, 2006 at 10:29 PM Então começa a fazer tudo certinho, pois vai ajudar-te a ti próprio e aos outros a entender o código. Se queres uma boa linguagem para aprender isso tentar escrever código em Python pois obriga-te a usar os níveis de formatação correctos. 😉 <3 life
djthyrax Posted November 29, 2006 at 10:37 PM Report #67793 Posted November 29, 2006 at 10:37 PM Python é que não 😧 😉 Sim, convem sempre organizar o nosso código. Para perceber o cód do karva tive quase que o copiar po notepad e organizá-lo eu 😕 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Triton Posted November 29, 2006 at 10:38 PM Report #67794 Posted November 29, 2006 at 10:38 PM Desculpem o off-topic, mas Python não porquê? 😉 <3 life
djthyrax Posted November 29, 2006 at 10:42 PM Report #67800 Posted November 29, 2006 at 10:42 PM BUG detectado: se o endereço não começar por http:// , ele vai dar erro, vou tentar resolver o assunto Isso é fácil de resolver:# trocar o echo da tag meta por: if(!headers_sent()) header("Location: $endereco"); else echo '<script type="text/javascript"> window.location = "$endereco" </script> <noscript><meta http-equiv="refresh" content="0;url=$endereco"></noscript>'; Desculpem o off-topic, mas Python não porquê? 🙂 Porque tás a tentar-me a ir aprender python quando eu devia tar a fazer o trab de mat para entregar amnh 😉nota, trocar o http://www.google.com/ por $pagina :\ Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Triton Posted November 29, 2006 at 10:44 PM Report #67803 Posted November 29, 2006 at 10:44 PM Estás como eu! 😄 <3 life
djthyrax Posted November 29, 2006 at 10:50 PM Report #67807 Posted November 29, 2006 at 10:50 PM "NÃO, NÃO SOU O ÚNICOOOOOOOOOOOO!" 😄 [me=djthyrax]<- chanfrado da mona. completamente.[/me] Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
skin Posted November 29, 2006 at 10:50 PM Report #67809 Posted November 29, 2006 at 10:50 PM Teste de mat amanhã e tou aqui por isso não se queixem, não estudei para este teste 🙂 Our lives begin to end the day we become silent about things that matter - Martin Luther King
karva Posted November 29, 2006 at 10:51 PM Author Report #67812 Posted November 29, 2006 at 10:51 PM Teste de mat amanhã e tou aqui por isso não se queixem, não estudei para este teste 🙂 mas mat nao e assim mt de estudar... Proud LEIC-A@IST student!
djthyrax Posted November 29, 2006 at 10:54 PM Report #67814 Posted November 29, 2006 at 10:54 PM Teste de mat amanhã e tou aqui por isso não se queixem, não estudei para este teste 🙂 Pois, mas eu nnc estudo para os testes e safo-me. O trabalho tenho mesmo que o fazer. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Bruno Posted November 30, 2006 at 01:31 AM Report #67883 Posted November 30, 2006 at 01:31 AM Já agora parece-me que tens ai uma falha de segurança 🙂 Não podes pegar no ID passado no GET e ler algo directamente da base de dados. Com essa falha qq pessoa tem acesso a tudo o que lá tens e pior, podem fazer update e apagar coisas!
djthyrax Posted November 30, 2006 at 01:40 AM Report #67887 Posted November 30, 2006 at 01:40 AM Já agora parece-me que tens ai uma falha de segurança 🙂 Não podes pegar no ID passado no GET e ler algo directamente da base de dados. Com essa falha qq pessoa tem acesso a tudo o que lá tens e pior, podem fazer update e apagar coisas! sim, mas ainda não chegámos aí 😉 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
karva Posted November 30, 2006 at 07:37 AM Author Report #67918 Posted November 30, 2006 at 07:37 AM pois, logo a tarde resolvo isso... Proud LEIC-A@IST student!
karva Posted December 25, 2006 at 08:05 PM Author Report #72367 Posted December 25, 2006 at 08:05 PM Actualização: Adicionadas algumas medidas de segurança Proud LEIC-A@IST student!
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