Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
glr, bom dia....
Criei um sistema em php, mas quanto fiz teste de usar urls independentes....o sistema esta aberto.
Por exemplo:
criei o código de logout, usando:
unset($_session);
unset($_cookie);
destroy session();
quando copiei uma url no browser, por exemplo: meudominio/dashboard.php
o sistema permite acesso a barra de navegação e algumas funções do sistema....problema bizarro de segurança!!
Como resolvo isso?
Obrigado,
Criei uma classe que valida usuários e exige 'user' e 'senha' no arquivo index.
A partir dele os arquivos php, vão sendo chamados no código através de session_start() e link direto do nome do arquivo php.
index utiliza javascript de validação:
<script type="text/javascript">
$('#inputPassword').on('keypress',function(e){
var code = e.keyCode || e.which;
if(code == 13){
e.preventDefault();
if($(this).val() != ''){
}
$('#btnLogin').trigger('click');
}
});
$('#btnLogin').click(function(){
var login = $('#inputEmail').val();
var senha = $('#inputPassword').val();
$.post('/app/login.php',{inputEmail: login, inputPassword: senha},function(data){
console.log(data);
if(data === 'OK'){
location.reload();
}else{
$('#myModal').modal('show');
ai o processo passa para a classe de validação e conexão com o banco (CMS)...a partir daqui é tudo via session_start(), chamando arquivos php e call nas procedures.
Ajuda? estou em outra máquina e sem o código
vlw..
Se você efetivamente não validar em todo arquivo se a sessão/cookie existe, por óbvio que se o usuário passar direto o nome do arquivo ele vai acessar sem problemas...
vlw ESerra...mas como construir?
criar um destroy session em todas as páginas, ou apenas definir uma rotina de validação em todas as navegações?
Trabalhando de maneira não tão adequada eu faria assim...
function session(){
@session_start();
if ($_SESSION['s_login'] == NULL){
header('location: ../index.php');
}
}
Ai em cada pagina que fosse "protegida" eu no inicio dela colocaria assim
session();
Geralmente eu crio uma pagina e faço include do header ai então eu só faço essa chamada uma única vez no header da página restrita...
legal boinaverde....uma dúvida:
tenho as páginas/arquivos:
páginas/arquivos - index, dashboard, visitas, cadastro
arquivo - navbar (chamo ele em todas as páginas, para fazer a barra de navegação do app)
class - CMS
como a navbar é chamada depois do session_start, não preciso incluir essa função nela certo?
obrigado
Como você está fazendo a restrição do acesso no arquivo dashboard.php?