Para rodar em ssl não é preciso fazer nada diferente.
Apenas compre o certificado digital e habilite ele na hospedagem.
Faça um verificação na tela de login assim que ela seja carregada.
Se não estiver com ssl ativo faz reload carregando novamente a tela de login na porta 443.
Tem um monte de exemplo no google com php de como fazer isto.
Exemplo do nada se cria tudo se cópia:
Coloca no onload da tela de login.
if($_SERVER[‘SERVER_PORT’] != ‘443’) {
header(‘Location: https://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’]);
exit();
}
Da mesma forma não é preciso contratar hospedagem para limitar o acesso quando os ip´s do cliente “são fixos (estáticos)”.
Basta verificar os ips das máquinas com php.
A variável $_SERVER[“REMOTE_ADDR”] devolve o valor do ip da máquina onde o usuário esta vendo o aplicativo.
Exemplo no onload ou no onapplicationinnit:
$ipvisitante=$_SERVER[“REMOTE_ADDR”];
Logo, basta usar a imaginação e colocar um bloqueio comparando este ips com o $ipvisitante.
Sugestão: Coloque os ip´s que quer liberar em uma tabela.
Faça a consulta, se retornar verdadeiro libera a tela de login, falso tela de erro personalizada.
Redundância.
Tenha o sistema em pelo menos dois locais diferentes.
Não adianta colocar os dois na empresa X. Se os links ou servidores da empresa X falham você tá ferrado na sua redundância. E eu já vi acontecer isto aqui com o pessoal da lista. Acha que tá seguro porque pegou dois clouds na mesma empresa. Por favor né! Sejam espertos!
Se endereço xxxx.com.br cai ou está lento o yyy.com.br pode ser acessado.
Faça a replicação do banco.
As bases são um caso especial e aqui entra o conceito de ter um DBA em mysql para ajudá-lo. Muitas pessoas dizem que mysql, firebird e etc não precisa de um DBA. Eu acho que qualquer base precisa de um DBA.
Pois implica situações como:
- Instrução (conselho) do próprio manual do mysql: insert, updates e deletes no master, selects (consultas) no slave.
- Se você não seguiu o conselho acima e o master cai, o slave recebe os insert, updates, delete.
Quando o master voltar isto será retornado a ele de forma automática ou manual?
e etc, etc, etc, etc.
Seu software esta preparado para esta situação?
Pois, se permitir a escrita nos dois sem o devido tratamento, será uma mistura de chaves duplicadas, chave primárias, unique key e blá,blá,blám não permitindo o retorno dos dados para o master.
Ainda se escolheu colocar os bancos em hosts (empresas hospedagem) diferentes.
Tem o lance do delay entre os links. Pois conforme a escolha de sincronização pode haver um bloqueio até que pelo menos um slave seja sincronizado.
Mais informações no google, manual do mysql ou http://hudsonsantosdba.blogspot.com.br/2010/05/replicacao-semi-sincronizada-no-mysql.html
A situação acima se trata de master to slave, de master to master o cenário muda um pouco.
Emfin, consulte um DBA e seja feliz hehehhehehehhe.
Espero ter ajudado.