Как защитить php файл от пользователей?
Смотря что содержится в config.php. Если он выполняет функцию возвращения массива, например:<?php
return[
    'host' => 'localhost',
    'dbname' => 'MAYABASA',
    'user' => 'root',
    'password' => ''
];
То ничего скрывать не нужно, пользователь и так не сможет получить содержимое.
Если вы делаете вывод контента по средствам php и получаете содержимое через, например, file_get_contents($url), то в начале файла можно проверять ip адрес с которого поступает запрос. Если запрос делает только ваш сервер, то это может смотреться так:if ($_SERVER['REMOTE_ADDR'] !== '127.0.0.1') exit();
echo 'Этот контент будет выводиться только для запросов с Ip 127.0.0.1';
Ip вашего сервера не меняется, поэтому способ может быть использован.
Ну и напоследок, есть способ для защиты в .htaccessRewriteRule ^/?some_path/config\.php$ - [F,L]
Никак не надо защищать. 
Найди себе другое, более полезное занятие.