Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

24-10-2008 23:26

Olá eu criei este script de registro muito simples mais funciona bem
só estou com problema no " header ("Location: login.php"): que esta dando pau e msg de erro tem como vcs me ajudar?

brigadoo.
?php require_once('config.php'); conexao(); if(isset($_GET['ac'])){ if($_GET['ac'] == 'registrar'){ $nome = $_POST['nome']; if(!empty( $_POST['nome'])){ $senha = md5($_POST['senha']); if(!empty( $_POST['senha'])){ $senha2 = md5($_POST['senha2']); if(!empty( $_POST['senha2'])){ if($senha == $senha2){ $email = $_POST['email']; if(!empty( $_POST['email'])){ if(!$er){ $chave = md5(uniqid(microtime())); $pesq = "SELECT * FROM cadastro WHERE email = '$email'"; $exe = mysql_query($pesq, $base); $list = mysql_num_rows($exe); if($list == 0){ $reg = mysql_fetch_array($exe, MYSQL_ASSOC); $ins_cadastro = ("INSERT INTO cadastro (nome, senha, email, chave ) VALUES ('$nome', '$senha', '$email', '$chave')"); $cad_cadastro = mysql_query($ins_cadastro, $base)or die(mysql_error()); header("location:login.php"); }else{ $er[] = "So um usuario por E-mail."; } }else{ $er[] = "Todos os campos devem ser preenchidos"; } }else{ $er[] = "Campo E-mail não pode ser vazio."; } }else{ $er[] = "As senhas devem ser iguais."; } }else{ $er[] = "Campo Con/senha não pode ser vazio."; } }else{ $er[] = "Campo senha não pode ser vazio."; } }else{ $er[] = "Campo nome não pode ser vazio."; } } } ?> <HTML> <HEAD> <TITLE>Cadastro</TITLE> </HEAD> <BODY> <h1><font color="#FF0000"><p align="center">"MEU SITE"</p></font></h1> <?php if(isset($er)){ echo "<lu>"; for($i=0;$i<count($er);$i++){ echo "<li>".$er[$i]."</li>"; } echo "</lu>"; } ?> <form name="frm" id="frm" action="<?=$_SERVER['PHP_SELF']?>?ac=registrar" method="POST"> <td><table width="300" align="center"> <tr> <td>Nome</td> <td><input name="nome" type="text" id="nome" size="32" maxlength="100"></td> </tr> <tr> <td>Senha</td> <td><input name="senha" type="password" id="senha" size="15" maxlength="15"></td> </tr> <tr> <td>Con/senha</td> <td><input name="senha2" type="password" id="senha2" size="15" maxlength="15"></td> </tr> <tr> <td>E-mail</td> <td><input name="email" type="text" id="email" size="32" maxlength="64"></td> </tr> <tr> <td>&nbsp;</td> <td><input type="submit" name="Submit" value="Enviar"></td> </tr> </table> <p align="left">&nbsp;</p></td> </form> </BODY> </HTML>

também me diga se esta seguro este script ou tem muitas falhas.?

MOVIDO: de PHP para MySQL
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

24-10-2008 23:35

Acho que só deveria colocar um script para evitar sql injection, no caso do erro, que erro retorna?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

24-10-2008 23:39

O erro é este : Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\l1test\config.php:14) in C:\xampp\htdocs\l1test\registrar.php on line 30
e vc poderia me indicar um exemplo de script para evitar sql injection? obrigado
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

24-10-2008 23:54

Esse "Cannot..." geralmente acontece quando tem uma tentativa de carregar um código html antes do header. Verifica ai se não tem esse problema no seu código, no config talvez.

Já no sql injection, consiste basicamente você impedindo alguns caracteres como ', OR...

Eu ví uma função bem interessante de sql injection

function limpa($string) { if(get_magic_quotes_gpc()) { // evita \ repetidas $string = stripslashes($string); } if (phpversion() >= '4.3.0') { $string = mysql_real_escape_string($string); } else { $string = mysql_escape_string($string); } return $string; }

Ai você adapta ao seu código, tipo:
$nome = limpa($_POST['nome']);
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

24-10-2008 23:59

Valeu pela força vou estudar o script e ver como eu posso adaptar ao meu brigadooo.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

25-10-2008 00:05

:8)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

25-10-2008 00:06

no config não é ele é só um a function para conexão com o bd mais eu vou encontrar este grilo

eu fazia os script de registro com dw agora estou fazendo no teclado mesmo é para aprender mais heheheh.
<?php function conexao(){ global $base; $base = mysql_connect("localhost", "root", "")or die(mysql_error()); $bd = mysql_select_db("pod", $base)or die(mysql_error()); } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

25-10-2008 07:06

Só não testei a conexão, mas, rodei seu script aqui no caso do submit e o header funcionou sem problema.

Há até uma linha que esvazia o buffet: <? ob_start(); ?>

Vai na primeira linha do documento, acho que resolve esse problema do header, mas, deveria ver se realmente não tem nada sendo executado antes.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

25-10-2008 13:12

De fato você tem razão não tinha nada errado com header o problema éra com meu servidor de teste

reinstalei e rodou dez

quanto a função ante sql injection
eu ainda não sei como uzala

ainda sou muito modesto com os codigos mais vou continuar fazendo teste até ver se roda

tem como eu aplicar algum codigo ou if que inpéssa caracteres como $%@&*:/// etc...

do resto valeu sua ajuda foi otima. brigadooo. :kickup
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

25-10-2008 18:12

Seria retirar os caracteres diferentes de a à z ou bloquear o processo?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

25-10-2008 21:05

Qual é mais eficiente retirar os caractéres ou bloquear ?

eu gostaria de limpar os caracteres curingas que possa liberar o haqueamento do bd
poderia ser ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

25-10-2008 21:26

o caracter básico para sql injection é o ( ' ), isso aquela função que passei faz, basta aplicar sobre o valor a ser inserido no BD, com base no exemplo que deixei no post mais acima.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

25-10-2008 21:45

coloquei isto nas strings isto ajuda um pouco

$senha2 = addslashes(htmlentities(md5($_POST['senha2'])));
if(!empty( $_POST['senha2'])){

vou ver se coloco a function no codigo

valeu bom fim de s
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

25-10-2008 21:50

boa :)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

13-07-2013 16:57

que significa este erro?
0
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

13-07-2013 16:59

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\VertrigoServ\www\serrinha\config.php:10)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

13-07-2013 17:01

O que tem no config.php?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

13-07-2013 18:09


<?php   function conexao(){   global $base;   $base = mysql_connect("localhost","root","vertrigo")or die (mysql_error());   $db = mysql_select_db("serrinha",$base)or die (mysql_error()); } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema com registro! afff

13-07-2013 19:04

No documento que é mostrado o erro, não deixe nenhuma saída de texto "print, echo" antes do header que você deve ter, ou, coloque o seguinte código no início do documento.

<?php ob_start(); // continua 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 83

Problema com registro! afff

13-07-2013 22:43

valeu
0

Quem está online

Usuários navegando neste fórum: Bing [Bot]