Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá estou fazendo um acompanhamento de pedidos em php minha duvida é qual será a melhor forma de fazer
modos que pensei
1) quando cadastrado um pedido gera um numero randomico e criptografa md5 e esse sera o codigo de acompanhamento do pedido, quando o cliente entrar no site ao listar os pedidos passara por get esse codigo como paramentro pra identificar o pedido no DB.
Prós: segurança boa, o cliente nao saberá nem terá ideia do numero desse registro no DB.
contras: será mais uma coluna na tabela que já é grande no DB.
2)manter exibindo o codigo do pedido normal por ex.. pedido n 499 mas se o cliente for malicioso e mudar para 408 por ex para ver dados de outro pedido o sistema sempre fará uma verificação numero do pedido e do cliente para saber se é aquele cliente. caso nao bater com o cliente exibira a mensagem "código inválido!".
Prós: segurança também!
alguem pode me dar sugestão de qual dessas é a melhor forma ou pode citar alguma outra não citada aqui?
abraços
Bom dia.
Meu amigo, para que isso não ocorra, basta você vincular o id do pedido com o id do cliente, com isso ele não poderia visualizar os pedidos que não fossem de sua autoria. já que esse ID é sigiloso então você esquece de passá-lo por GET, mande-o sempre via post com um campo hidden e criptografado, se é realmente o que quer, não vejo problemas em um MD5.
>
Bom dia.
Meu amigo, para que isso não ocorra, basta você vincular o id do pedido com o id do cliente, com isso ele não poderia visualizar os pedidos que não fossem de sua autoria. já que esse ID é sigiloso então você esquece de passá-lo por GET, mande-o sempre via post com um campo hidden e criptografado, se é realmente o que quer, não vejo problemas em um MD5.
a ideia do GET eh sempre para que o cliente possa guardar aquela url, por ex. ele recebe via email ja a url do pedido, ai quando logar ja vai estar la visualizando nao precisa ta procurando aquele pedido.
por POST nao rolaria acho, pq imagina um cliente com 10 pedidos ai do lado de cada pedido tem um link para acompanhamento daquele pedido.
irei vincular o id do pedido com o id do cliente tambem.
abraço obrigado pelo comentário
>
a segunda é bem mais facil de tratar. O cliente pode ser malicioso, mas quem registra é o sistema, agora o codigo voce pode deixar com input travada. A primeira solucao, voce terá que tratar se o numero randomico já existe. Porque pode acabar repetindo, mesmo sendo um outro usuario não é uma maneira legal repetir, então vai ser preciso fazer o tratamento disso. Na minha opinião eu faria a segunda.
isso mesmo acho que irei fazer da segunda forma, de qualquer jeito só irei fazer isso no final de semana até la ja tem um tempinho para pensar :D
obrigado pelo comentario
Neste caso você tem razão... veja aí a melhor forma e mete bronca
Eu acho, que a melhor forma seria com o uso de sessões, elas não podem ser manipulados pelo clientes, são ocultas.
Prós: Mais seguro do que $_GET, melhor que $_POST
Contras: Você deve saber usá-las corretamente
a segunda é bem mais facil de tratar. O cliente pode ser malicioso, mas quem registra é o sistema, agora o codigo voce pode deixar com input travada. A primeira solucao, voce terá que tratar se o numero randomico já existe. Porque pode acabar repetindo, mesmo sendo um outro usuario não é uma maneira legal repetir, então vai ser preciso fazer o tratamento disso. Na minha opinião eu faria a segunda.