Autor |
Mensagem |
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
|
|
Nem sempre isto indica um servidor inseguro. O que garante segurança será o tratamento dos dados recebidos no servidor.
A url que você menciona é uma passagem de parametros via GET.
Neste caso o usuário pode ver o nome do parametro e valor. Isto permite ele modificar o valor do parametro com facilidade.
Existe a passagem de parametros via POST.
Neste caso, não é visível para o usuário na barra de endereços, isto impede usuários comuns de modificar o valor do parametro.
Porém, usuários avançados podem facilmente obter algum programa que leia e modifique parametros enviados via POST.
Como podem ver nenhum método de envio é 100% seguro, visto que ambos podem ser modificados.
|
|
Qua Mar 28, 2012 8:26 pm |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
|
|
| | Ei sobre a questão do MYSQL???
Teria como fazer um sistema de servidor de jogo online usando PHP e mysql independente?
...
O própio PHP recebe o comando de um jogador e repassa ele para os outros entendeu? Sem o uso de server nenhum!!!
|
Entendi.
Sub-domínios são limitados, fica inviável criar um para cada jogador. Sem contar que a criação é manual. Não existe um comando que você envia para o servidor de hospedagem e ele cria automaticamente.
O PHP é uma linguagem interpretada, muito lenta. E usa o protocolo HTTP, também lento.
O servidor é compilado, bem mais rápido. Utiliza sockets que é bem mais rápido.
E apesar disso o jogo vai dar lag. rs
Imagina fazer em PHP.
|
|
Qua Mar 28, 2012 8:43 pm |
|
|
Sergio Sinistro
Usuário
Registrado: 25/03/12 Mensagens: 263 Localização: Amazonas |
|
|
|
Ta mais se os parâmetros GET forem ocultos sem aparecer na tela?
Um jogador apenas digita o nick dele e digita o server exemplo:
Nome: Marcos
Servidor: server1.server.com
[Conectar] [Cancelar] [Sair]
Depois ele clica no botão Conectar então o parâmetro GET é enviado sem o usuário saber!!
Então o servidor ira responder:
Se deu tudo certo o servidor responde: status_ok
então o jogador é conectado
Em outros casos ele retorna uma mensagem de erro que é exibida no cliente:
Se o usuário foi banido pelo ip o servidor responde: ban
Se deu um erro desconhecido o servidor retorna: error
Se o ping do usuário esta alto demais o servidor responde: ping
Ou então o servidor pode retornar: errormsg "Servidor temporariamente offline"
Durante o game o Administrador do servidor pode mandar uma mensagem para todos os usuários bastando digitar no painel de controle através do navegador o comando:
msg "mensagem aqui"
Ou o Administrador pode enviar uma mensagem para somente um usuário digitando:
nomedousuário "mensagem"
Exemplo:
marcos "bem vindo ao nosso servidor eu sou o adm"
|
|
Qua Mar 28, 2012 8:53 pm |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
|
|
Não é possível ocultar um GET.
O que é possível é utilizar um POST.
Mas isto não irá melhorar a velocidade de comunicação.
Toda essa comunicação que você simulou será feita utilizando sockets, ele permite a troca de mensagens entre servidor e cliente.
O mais importante nem é o PHP.
O cadastro pode ser feito dentro do proprio jogo, dispensando o PHP.
O importante é o banco de dados que irá manter os dados dos jogadores.
E a comunicação do servidor com o cliente.
|
|
Qua Mar 28, 2012 9:08 pm |
|
|
Sergio Sinistro
Usuário
Registrado: 25/03/12 Mensagens: 263 Localização: Amazonas |
|
|
|
Ta mais e se o banco de dados for um arquivo TXT dentro da pasta do jogo compactado em ZIP ou em RAR broqueado com senha ???
Quero ver quem quebra a senha de arquivos compactados!!!
|
|
Qua Mar 28, 2012 9:14 pm |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
|
|
banco de dados são a evolução do txt
não se usa mais arquivo texto e arquivo de índice (ex: .dbf .idx etc.)
Isso era no tempo do Paradox (piradox), DBase III etc.
Ficar descompactando e compactando para cada informação salva, torna o projeto inviável.
A idéia do projeto é:
Cadastro de desenvolvedor (PHP + MySQL)
Cadastro de jogador (PHP + MySQL)
Servidor
3D Game Builder compilado ou C++ (IDE Dev C++).
Não vou usar Visual C++ porque é grande demais para baixar.
Cliente
3D Game Builder, claro.
Comunicação
Sockets
(Não iremos usar PHP aqui)
Armazenamento de dados
MySQL
|
|
Qua Mar 28, 2012 11:41 pm |
|
|
Sergio Sinistro
Usuário
Registrado: 25/03/12 Mensagens: 263 Localização: Amazonas |
|
|
|
mesmo assim o jogador pode manipular a conexão com a internet!!!
E enviando pacotes como: Kill player1 assim o servidor vai achar que o jogador matou o player1 e o player1 vai morrer já que tudo é manipulado pelo servidor!!!
Pela lógica é!!!
|
|
Qui Mar 29, 2012 12:40 am |
|
|
welgomes
Usuário
Registrado: 10/07/11 Mensagens: 827 Localização: São Paulo - Capital |
|
|
|
| | mesmo assim o jogador pode manipular a conexão com a internet!!!
E enviando pacotes como: Kill player1 assim o servidor vai achar que o jogador matou o player1 e o player1 vai morrer já que tudo é manipulado pelo servidor!!!
Pela lógica é!!! |
Sim, pelo servidor e não pelo cliente.
Cada desenvolvedor irá criar o seu servidor (arquivo .exe).
Cada desenvolvedor irá criar o seu cliente (arquivo .exe).
Criará o seu jeito de comunicação. (Ex: se vai enviar comandos kill, código etc.)
Criará seu método de segurança. (Ex: criptografar os dados etc.)
Meu intuito é criar um tutorial, não um servidor ultra seguro para cada jogador.
O jogo de exemplo ficará vulnerável, porque a comunicação está exposta.
Não irei entrar na parte de criptografia dos dados no momento.
|
|
Qui Mar 29, 2012 1:08 pm |
|
|
|