Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Biel.

Função que impede id de ser alterado na url

Recommended Posts

Boa noite a todos. Pessoal
strlen conta o numero de caracteres que é passado na url por exemplo
Pessoal gostaria de saber que função impede de mudar o id no caso o número que é passado no url. Faz de conta que "meu site" tem várias páginas com urls cujo ids são bastante variados tipo:
www.tete.com.br/alguma_coisa.php?id=1 
www.tete.com.br/sei_la.php?id=135 
www.tete.com.br/quem_sabe.php?id=278 
www.tete.com.br/eu_nao_sei.php?id=394 
www.tete.com.br/vai_dar_certo.php?id=2548
...
tab_aprendiz
id         conteudodapagina
1             aqui vai o conteudo de cada página  / id
135           aqui vai o conteudo de cada página  / id  
278           aqui vai o conteudo de cada página  / id 
394           aqui vai o conteudo de cada página  / id          
2548          aqui vai o conteudo de cada página  / id  
O colega está em uma determinada página do "meu site" e resolve mudar o id . Gostaria que mostrasse uma mensagem de erro tipo
<?php 
if ($nao_pode_mudar_o_id ){ 
         echo "ESSE ID NÃO EXISTE NO BANCO DE DADOS";
            die();
}
?>

... strlen conta o numero de caracteres que é passado na url por exemplo

EX 1
<?php
$str = 'abcdef';
echo strlen($str); // 6 caracteres

$str = ' ab cd ';
echo strlen($str); // 7 caracteres contando com os espacos
?>


EX 2
<?php
$str = '27';
echo strlen($str); // 2 caracteres

$str = '278';
echo strlen($str); // 3 caracteres
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem como impedir de trocar os parâmetros pela url, o que vc tem que fazer é uma validação destes dados, e verificar se o ID existe no db.

select count(*) from table where id = ?

para validações de entrada
http://php.net/manual/pt_BR/function.intval.php

 ((string)(int)$value === (string)$value || $value === false)

strings

http://php.net/manual/pt_BR/book.strings.php


ou até mesmo por regex

if (preg_match('/^[0-9]+$/', $str))

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.