Page 1 of 1

Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 1:37 pm
by cHuBakA
Привет.
Имам файл който инклудвам. - include_once
Как мога да му задам чрез код вътре, този файл да бъде разрешен само за определен домейн? (не с .htaccess и др.)

Пример login.php да може да се инклудне само от www.sait-5.com

А от други сайтове и директен достъп да е забранен

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 3:36 pm
by anonimen
Провери в началото кой е домейнът на текущия request.
Ако не съвпада с желания, правиш return (глобално за файла) и няма да се изпълни надолу.

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 4:55 pm
by cHuBakA
Благодаря. Но аз точно тава не успявам да направя

Идеята е да дам достъп до файла от външен домейна но да е само за него. Да не се закачат и други без да знам

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 5:55 pm
by anonimen
cHuBakA wrote:
Sat Apr 25, 2020 4:55 pm
Благодаря. Но аз точно тава не успявам да направя

Идеята е да дам достъп до файла от външен домейна но да е само за него. Да не се закачат и други без да знам
Aхаa, може би нещо не сме се разбрали. Имах предвид, че ако имаш един скрипт на 3 сайта, и искаш при include на файла от други скритове, то въпросният скрипт да не се зарежда под други домейни, освен един конкретен.

Сега споменаваш нещо за "външен домейн", което не съм сигурен как да разбирам.

В първия случай, можеш да използваш каквато си искаш информация от $_SERVER - виж какви възможности има: https://www.php.net/manual/en/reserved. ... server.php
И след това правиш така:

Code: Select all

<?php
/* някакво условие - по домейн, IP, име на файл, каквото и да е: */
if($_SERVER["SERVER_ADDR"] == "123.45.67.89") return;

// всичко останало от файла

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 7:09 pm
by cHuBakA
Благодаря много. Сега ще пробвам .

По конкретното е имам файл login.php на моя сайт (sait-1.com) който да разреша да могат да го инклуднат в друг сайт (sait-2.com) на друг хостинг.
Идеята е да задам само от sait-2.com да могат да го инклуднат.
и съответно никои други освен sait-2.com да не могат да го отварят или инклудват.

В примера, който сте ми дали като пример, може ли да се замени IP-то с домейн?

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 7:49 pm
by anonimen
cHuBakA wrote:
Sat Apr 25, 2020 7:09 pm
Благодаря много. Сега ще пробвам .

По конкретното е имам файл login.php на моя сайт (sait-1.com) който да разреша да могат да го инклуднат в друг сайт (sait-2.com) на друг хостинг.
Идеята е да задам само от sait-2.com да могат да го инклуднат.
и съответно никои други освен sait-2.com да не могат да го отварят или инклудват.

В примера, който сте ми дали като пример, може ли да се замени IP-то с домейн?
Ами значи все пак грешно съм те разбрал.
Мислех, че този файл живее на няколко сървъра, т.е. има копия тук и там, и искаш да има различно поведение според това на кой сървър се намира.
Кодът, който предложих, сравнява адреса на *текущия* сървър с дадения низ.

Иначе, адресът на клиента стои в $_SERVER['REMOTE_ADDR'], и в твоя случай него ще трябва да сравняваш. И то, обърни внимание, по IP - а не по домейн - защото клиент може да съм аз или ти, които нямаме имена (домейни), закачени към нашите IPта.

Също, не съм сигурен какво означава "include" от друг сървър, но от тази променлива си взимаш IPто на клиента. По идея с "include" включваш скриптове от своя проект, а не правиш заявки към други сървъри :think:

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 8:08 pm
by cHuBakA
Благодаря. Горе долу ми се изяснява.
А има ли начин да се предотврати директен достъп до php файл. Но да е разрешен само за заявка от определен домейн?

Re: Как да ползвам файл от един домейн

Posted: Sat Apr 25, 2020 8:17 pm
by anonimen
cHuBakA wrote:
Sat Apr 25, 2020 8:08 pm
Благодаря. Горе долу ми се изяснява.
А има ли начин да се предотврати директен достъп до php файл. Но да е разрешен само за заявка от определен домейн?
Може - в $_SERVER['REMOTE_ADDR'] e записано IPто на клиента от текущата заявка, можеш да го сравниш с желаното и да правиш различни неща, според това кой е достъпил адреса.

Code: Select all

<?php 
if($_SERVER['REMOTE_ADDR'] === "12.34.56.78") {
    echo "Разрешено!";
} else {
    echo "Забранено!";
}

Re: Как да ползвам файл от един домейн

Posted: Sun Apr 26, 2020 2:20 pm
by cHuBakA
Благодаря. Оправих се по този начин.

Re: Как да ползвам файл от един домейн

Posted: Mon Apr 27, 2020 5:57 am
by dakata__92
Само да попитам, за какво точно ти се налага да правиш такава проверка?