Sessões com PHP

Seguinte bruxos, estou com um probleminha que ta causando baguncinha. Fiz um codigo de sessão, e aparentemente ta tudo OK, mas se eu digitar o URL do script da pagina privada ela é acessada normalmente sem estar logado. Segue o abaixo os codigos.

require_once "functions_prototipo.php";
//require_once "navBar.php";
require_once "conexaoBD.php";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
	try 
	{
		$usuario = '';
		$senha = '';
		$connecting = conectaAoBD();
	
		if(isset($_POST['login']) and $_POST["login"] != ''){
			$usuario = filtraEntradaForm($_POST["login"]);
		} else {
			throw new Exception ('Login invalido. Tente Novamente' . $connecting->error);
		}
        
		if(isset($_POST['senha']) and $_POST["senha"] != ''){
			$senha = filtraEntradaForm($_POST["senha"]);
		} else {
			throw new Exception ('Senha invalida. Tente Novamente'. $connecting->error);
		}

		//Chamando 
		//seguinte mano
		loginUsuario($usuario, $senha, $connecting);
	}

	catch (Exception $e)
	{
		http_response_code(400); 

		$msgErro = $e->getMessage();

		echo $msgErro;
	}
}
function filtraEntradaForm($data)
{
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

function loginUsuario($login, $senha, $mysqli)
{
  $SQL = "
	  SELECT Login, Senha
	  FROM usuario
	  WHERE Login = ?
  ";

  $stmt = $mysqli->prepare($SQL);
  $stmt->bind_param('s', $login);
  $stmt->execute();
  $stmt->store_result();
  
  // PEGA OS CAMPOS DOS SELECTS E INSERE EX: SELECT DO ID vai salvar no $idUsuario
  $stmt->bind_result($loginSelect, $senhaSelect);
  //VAI RECEBER O RESULTADO DA CONSULTA
  $stmt->fetch();
  //SE RESULTADO FOR EXATAMENTE IGUAL A 1
  if ($stmt->num_rows == 1)
  {
	  //COMPARA A SENHA Q TA VINDO DO MODAL COM A DO BD
    if ($senha == $senhaSelect)
    {
      // Senha correta
            
      // Armazena dados úteis para confirmação de login
      // em outros scripts PHP
	    //SALVA OS DADOS Q VEIO DO BANCO EM VARIAVEIS DE SESSAO
      session_start();
      $_SESSION['senha'] = $senhaSelect;
      $_SESSION['login'] = $loginSelect;
      header("Location: cadastroFuncionario.php");
      // Sucesso no login
      return true;
    }
    else
    {
	  echo"<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');</script>";
      return false;
    }
  }
  else
  {
    return false;
  }
}

function checkUsuarioLogado($mysqli)
{
  // SE VARIAVEL DE SESSAO USUARIO E DE SENHA TIVER COM ELEMENTOS NAO ENTRA NO IF
  if (!isset ($_SESSION['senha'], $_SESSION['login']));
  
  //VARIAVEIS DO PHP RECEBE O VALOR DAS VARIAVEIS DE SESSAO FEITO NO SELECT DA FUNÇAO ANTERIOR E ARMAZENADO
  //PUDE PERCEBER AQ Q $idUsuario é NO NOSSO CASO O EMAIL os 2 CAMPOS DISPONIVEIS PARA LOGAR NA A.R (AREA RESTRITA)  $idUsuario = $_SESSION['idUsuario'];
  $newSenha = $_SESSION['senha'];
  $newLogin = $_SESSION['login'];
  
  // VAI BUSCAR NO BANCO DE ACORDO COM A VARIAVEL $idUsuario no BIND_PARAM ABAIXO NO NOSSOCASO SERIA O EMAIL..
  $SQL = "
    SELECT SENHA 
    FROM Usuario
    WHERE Login = ?
  ";
  
  $stmt = $mysqli->prepare($SQL);
  $stmt->bind_param('s', $newLogin);
  $stmt->execute();
  $stmt->store_result();
  
  if ($stmt->num_rows == 1)
  {
    $stmt->bind_result($senhaSelect2); //$senhaHash recebe o RESULTADO DO SELECT -SenhaHash-
    $stmt->fetch();
	
	//RECEBE O QUE VEIO DE $senhaHash
	$loginStringCheck = $senhaSelect2;
    
	//COMPARA COM A FUNçÃO Q VEIO DA FUNçÃO DE SESSAO
    if ($loginStringCheck == $newSenha)
      return true;
  } 
  return false;
}

function checkUsuarioLogadoOrDie($mysqli)
{
  if (!checkUsuarioLogado($mysqli))
  {
    $mysqli->close();
    header("Location: index.php");
    die();
  }
}

Se não fez chamada nenhuma na função de sessão e só um função incluída no arquivo principal!

Você precisa chamar para funcionar e também tem problemas no seu código! precisa refatorar tudo isso.