Jump to content
Fórum Script Brasil
  • 0

Segurança da sessão


TiagoMaker

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...