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

C++ JAVA
Post Reply
User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

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

Post by cHuBakA » Sat Apr 25, 2020 1:37 pm

Привет.
Имам файл който инклудвам. - include_once
Как мога да му задам чрез код вътре, този файл да бъде разрешен само за определен домейн? (не с .htaccess и др.)

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

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

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

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

Post by anonimen » Sat Apr 25, 2020 3:36 pm

Провери в началото кой е домейнът на текущия request.
Ако не съвпада с желания, правиш return (глобално за файла) и няма да се изпълни надолу.

User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

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

Post by cHuBakA » Sat Apr 25, 2020 4:55 pm

Благодаря. Но аз точно тава не успявам да направя

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

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

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

Post by anonimen » Sat Apr 25, 2020 5:55 pm

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;

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

User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

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

Post by cHuBakA » Sat Apr 25, 2020 7:09 pm

Благодаря много. Сега ще пробвам .

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

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

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

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

Post by anonimen » Sat Apr 25, 2020 7:49 pm

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:

User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

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

Post by cHuBakA » Sat Apr 25, 2020 8:08 pm

Благодаря. Горе долу ми се изяснява.
А има ли начин да се предотврати директен достъп до php файл. Но да е разрешен само за заявка от определен домейн?

User avatar
anonimen
Web-tourist
Web-tourist
Posts: 1580
Joined: Mon Jun 11, 2012 6:07 pm
Answers: 163
Location: Parse error: unexpected "}" in /home/index.php on line 26

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

Post by anonimen » Sat Apr 25, 2020 8:17 pm

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 "Забранено!";
}

User avatar
cHuBakA
Нов
Нов
Posts: 146
Joined: Thu Sep 22, 2011 1:45 pm

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

Post by cHuBakA » Sun Apr 26, 2020 2:20 pm

Благодаря. Оправих се по този начин.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3295
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

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

Post by dakata__92 » Mon Apr 27, 2020 5:57 am

Само да попитам, за какво точно ти се налага да правиш такава проверка?

Post Reply