Как мне сохранить PHP блоков кода для многократного включения? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть блок кода PHP, который я использую в нескольких формах на моем веб-сайте. Вместо этого я хочу иметь один отдельный файл, который затем включаю несколько раз. Я не хочу, чтобы он был доступен сам по себе по пути в URL-адресе веб-сайта. Подумываю создать отдельную папку и перенаправить с нее на домашний сайт через htaccess. Есть ли другие решения? Какая здесь лучшая практика?

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете использовать функцию и разделяемую библиотеку.

file1. php

<?php
require_once './myLib.php';
echo myFunc();

myLib. php

function myFunc() {
    return "Foo";
}

ожидаемый результат из file1 . php

Foo

Есть несколько способов убедиться, что к этой библиотеке нет доступа.

Самый простой способ - просто сохранить ее за пределами вашего Интернета root (возможно, в /var/www/script) и импортируйте его с помощью ../script/myLib.php или /var/www/script/myLib.php

Если вы хотите разместить его в своей сети root, вы можете запретить доступ к нему с помощью .htaccess Этот вопрос может помочь вам с этим Как запретить доступ к файлу в .htaccess

Наконец, вы можете просто поместить его в свою сеть root и позволить скрипту проверить, осуществляется ли к нему доступ напрямую, с помощью следующих строк

if(__FILE__ === $_SERVER['SCRIPT_FILENAME']) {
    header('location: /'); // if the script is accessed directly redirect the user
    die(); // ALWAYS DIE AFTER A REDIRECT
}
...