Ir para conteúdo
Fórum Script Brasil
  • 0

Segurança da sessão


TiagoMaker

Pergunta

Dae galera! Estou fazendo um sistema de classificados, onde todos usuários irão acessar as mesmas páginas usando logins diferentes para cadastrar e alterar os anúncios.. Estou usando session para os logins porém sempre tem aquela de alterar os ids pra "pegar" conteúdo de outros usuários. uso comparação de sessão pelo usuário do cadastro para validar cada operação e ainda filtro nas querys. Vou postar um exemplo, se pudesse me dizer se está relativamente seguro ou se teria uma maneira mais fácil de fazer.

<?php
        require_once("includes/restringir.php");
        //error_reporting(0);
?>
<script type="text/javascript">
$(document).ready(function() {
      $('#arquivos').uploadify({
        'swf'         : 'includes/uploadify/uploadify.swf',
        'uploader'    : 'includes/uploadify/uploadify_produtos.php',
        'cancelImg'   : 'includes/uploadify/cancel.png',
                'buttonText'  : 'ADICIONAR IMAGENS',
                'width'       : 150,
                'method'      : 'get',
        'formData'    : { 'nome' : '<?php echo $_GET[codigo]; ?>', 'nome1' : '<?php echo $_GET[editar_produto]; ?>' },
                'onQueueComplete' : function(queueData) {
            alert(queueData.uploadsSuccessful + ' fotos foram enviadas com sucesso!');
        }
      });
    });
</script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#form1').validate({
            rules:{
                nome:{
                    required: true
                },
                                preço:{
                    required: true,
                },
                                descricao:{
                    required: true,
                },
            },
            messages:{
                nome:{
                    required: ""
                },
                                preço:{
                    required: ""
                },
                                descricao:{
                    required: ""
                },
            },

        });
    });
</script>
<?php
        if($_GET[passo] == '2'){
                
                $sql = "SELECT * FROM produtos WHERE usuario = '".$_SESSION[email]."' AND codigo = ".anti_injection($_GET[codigo]);
        $select = mysql_query($sql);
        $dados1 = mysql_fetch_array($select);
$usuario = $dados1[usuario];
$sessao = $_SESSION[email];
if ($usuario == $sessao){
?>
<form id="form2" action="valida.php" method="post" name="cadastro" enctype="multipart/form-data" onsubmit="return confirmar()">
<table width="700" border="0" align="center" cellpadding="4" cellspacing="4">
<tr><td height="60" colspan="2" valign="middle">
Selecione várias fotos de uma só vez, mantendo a tecla CTRL pressionada. Aguarde até que todas fotos sejam enviadas para concluir.
</td></tr>
<tr>
    <td height="40" align="right" valign="middle"><strong>FOTOS:</strong></td>
    <td align="left" valign="middle">
  <input id="arquivos" name="arquivos" type="file" /> <input id="nome" name="nome" type="hidden" value="<?php echo $_GET[galeria]; ?>" />
    </td>
  </tr>
    <tr>
    <td height="30" colspan="2" align="center"><input id="bt" type="submit" name="bt" value="CONCLUIR" /></td>
  </tr>
  </table>
</form>

<?php } }else if ($_GET[passo] == '1') { ?>
<form id="form1" action="valida.php" method="post" name="cadastro" enctype="multipart/form-data" onsubmit="return confirmar()">
<table width="600" border="0" align="center" cellpadding="2" cellspacing="4">
  <tr>
    <td height="35" colspan="2" align="center"><b>CADASTRO DE PRODUTOS</b></td>
  <tr>
    <td height="25" colspan="4" align="left">* S&atilde;o campos obrigat&oacute;rios</td>
  </tr>
  <tr>
    <td width="182" align="right">PRODUTO:</td>
    <td width="398" align="left"><input name="nome" type="text" size="40" maxlength="50" value="<?php echo $dados1[nome]?>" />
    *
    </td>
  </tr>
  <tr>
    <td align="right">PRE&Ccedil;O: </td>
    <td align="left"><input name="preço" type="text" size="15" maxlength="15" value="<?php echo $dados1[preço]?>" /> 
    * EX.: 47,65</td>
  </tr>
    <tr>
    <td align="right">DESCRI&Ccedil;&Atilde;O: </td>
    <td align="left" valign="top"><textarea name="descricao" id="descricao" cols="40" rows="10"><?php echo $dados1[descricao]?></textarea>
    *
    </td>
  </tr>
  <tr>
    <td height="40" valign="bottom" align="center" colspan="2">
<input id="produto_cad" type="submit" name="produto_cad" value="PRÓXIMO PASSO" style="cursor:pointer;" /></td>
  </tr>
</table>
  <input id="codigo" type="hidden" name="codigo" value="<?php echo rand(0,9999999999);?>" />
  <input id="usuario" type="hidden" name="usuario" value="<?php echo $_SESSION[email];?>" />
</form>
<?php } ?>
<?php if($_GET[editar_produto] > ''){
                $sql = "SELECT * FROM produtos WHERE usuario = '".$_SESSION[email]."' AND codigo = '".$_GET[editar_produto]."' or codigo = '".$_GET[editar_produto]."'";
        $query = mysql_query($sql);
        $dados = mysql_fetch_array($query);
        if($dados[usuario] == $_SESSION[email]){
                
        if($_GET[deletar_foto] > ''){

$sql2 = "SELECT * FROM fotos WHERE galeria = '".$_GET[editar_produto]."' AND id_galerias = '".$_GET[deletar_foto]."'";
$query2 = mysql_query($sql2);
$dados2 = mysql_fetch_array($query2);
$url = "../imagens/produtos/$dados2[galeria]/$dados2[foto]";
unlink($url);

$sql = "DELETE FROM fotos WHERE galeria = '".$_GET[editar_produto]."' AND id_galerias = '".$_GET[deletar_foto]."'";
$query = mysql_query($sql);
}
?>
        <form id="form1" action="valida.php" method="post" name="cadastro" enctype="multipart/form-data" onsubmit="return confirmar()">
<table width="600" border="0" align="center" cellpadding="2" cellspacing="4">
 <tr>
        <td colspan="2" align="left"><p align="center">CLIQUE NA FOTO PARA REMOVER</p><br />
        <?php
                $sql1 = "SELECT * FROM fotos WHERE galeria = '".$_GET[editar_produto]."' ORDER BY rand()";
                $query1 = mysql_query($sql1);
                while($dados1 = mysql_fetch_array($query1)){
?><a href="?pag=produtos&editar_produto=<?php echo $_GET[editar_produto]; ?>&deletar_foto=<?php echo $dados1[id_galerias]; ?>">
        <img src="../imagens/produtos/<?php echo $dados1[galeria]; ?>/<?php echo $dados1[foto]; ?>" width="99" height="75" border="0" class="thumbs" onclick="return confirmar()" /></a><?php } ?>

</td>
<tr><td height="60" colspan="2" valign="middle">
Selecione várias fotos de uma só vez, mantendo a tecla CTRL pressionada. Aguarde até que todas fotos sejam enviadas para concluir.
</td></tr>
  <tr>
    <td height="40" align="right" valign="middle"><strong>FOTOS:</strong></td>
    <td align="left" valign="middle">
  <input id="arquivos" name="arquivos" type="file" />
    </td>
  </tr>
<tr>
  </tr>
    <td height="25" colspan="4" align="left">* S&atilde;o campos obrigat&oacute;rios</td>
  </tr>
  <tr>
    <td width="182" align="right">PRODUTO:</td>
    <td width="398" align="left"><input name="nome" type="text" size="40" maxlength="50" value="<?php echo $dados[nome]?>" />
    *
    </td>
  </tr>
  <tr>
    <td align="right">PRE&Ccedil;O: </td>
    <td align="left"><input name="preço" type="text" size="15" maxlength="15" value="<?php echo $dados[preço]?>" /> 
    * EX.: 47,65</td>
  </tr>
    <tr>
    <td align="right">DESCRI&Ccedil;&Atilde;O: </td>
    <td align="left" valign="top"><textarea name="descricao" id="descricao" cols="40" rows="10"><?php echo $dados[descricao]?></textarea>
    *
    </td>
  </tr>
  <tr>
    <td height="30" colspan="2" align="center"><input id="bt" type="submit" name="bt" value="ALTERAR PRODUTO" /> <input id="bt" type="submit" name="bt" value="EXCLUIR PRODUTO" /> <input name="codigo" type="hidden" id="codigo" value="<?php echo $dados[id_produtos]; ?>" /> <input name="usuario" type="hidden" id="usuario" value="<?php echo $_SESSION[email]; ?>" /> <input name="produto" type="hidden" id="produto" value="<?php echo $_GET[editar_produto]; ?>" />
</td></tr>
</table>
</form>
<?php } } ?>

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...