Avatar billede Droa Seniormester
15. april 2011 - 10:50 Der er 6 kommentarer og
1 løsning

Import php biblotek fra en http addresse

Jeg har en Server som jeg kan sætte op lige som jeg vil, og tænkte om det var mugligt og inkludere en php fil fra en http adresse?

jeg har oprettet et fil format som jeg kalder ".phpclass". som jeg har sat til og tilbagegive et plain/text format, men include vil ikke tage imod den?

findes der nogen måde, eller skal php afvikles lokalt udelukket?
Avatar billede repox Seniormester
15. april 2011 - 11:01 #1
Får du ingen fejl? include() må da fejle - medmindre 'vil ikke tage imod den' betyder noget andet?

Alternativt er vi ovre i noget med at du mangler at evaluere PHP koden - i så fald, kan du ikke bruge include(). Så skal du hente PHP koden med curl eller en anden wrapper og så bruge eval().

Jeg går ikke ud fra jeg behøver at fortælle dig hvad sikkerhedsfarerne er ved at gøre det du gerne vil?
Avatar billede phillips Nybegynder
15. april 2011 - 11:01 #2
PHP kan godt hente filer fra eksterne (andet domæne) adresser med den almindelige include()-funktion.

Afhængig af din PHP-version skal du dog være opmærksom på, at allow_url_include skal være sat til on i din php.ini.

Hvis fil-navnet er .phpclass, skal din server også være opsat til at afvikle .phpclass filer som almindelige filer - de bliver ikke parset, hvis de bliver returneret som plain/text.

Jeg er dog ikke helt klar over, om denne sidste konfiguration skal ligge på din server eller på den eksterne - har en mistanke om, at sidstnævnte er tilfældet.

Vær opmærksom på sikkerheds-issues, hvis du ikke ejer den anden server - hvad sker der fx hvis scriptet ændres?
Avatar billede erikjacobsen Ekspert
15. april 2011 - 11:02 #3
Anvendelse af

  include('http://....');

kan være slået fra ... måske derfor.

Men hvad vil du opnå?

1) Det vil tage længere tid at lave en "extern" include - meget længere, hvis maskinerne står langt fra hinanden.
2) Du har nu 3 ting, der kan gå ned: de to servere, og netforbindelsen imellem.
Avatar billede repox Seniormester
15. april 2011 - 11:13 #4
#2
Ja, men så skal kildekoden jo også være tilgængelig for andre. Kæmpe sikkerhedsrisiko uanset.

Laver jeg denne på en anden server:
include("http://err0r.dk/test/inc_test.txt");
myTest();

virker det hele fint.
Avatar billede Droa Seniormester
30. maj 2011 - 11:44 #5
mange tak for svarende, desværre havde jeg helt glemt om denne trås, så jeg har i mellemtiden flyttet alle mine doamins til samme server, hvor de deler et php bibliotek fra en fællesmappe istedet.. det jeg indså sikekrheden aldrig ville være den samme.

Dog fik jeg lavet et "Interface" til og hente php fra fjerneserver, med POST AUTH LOGIN, så man skulle logge ind for og hente noget som helst.

det var nu meget let lavet, med og lave en Include-api.php fil der tjekker login bruger og kode, hvor den derefter send en fil tilbage ?path=/mytest.php

den bliver hentet med fsockopen hvor den selvfølgelig sender POST data'erne, og modtagerne filen til lokalt på disken. hvor den holder så længe size og header er den samme på begge sider.

jeg henter den så normalt med "Include" som jeg plejer..

Jeg stoppede dog projektet, da det mindede for meget som et AutoUpdate system.. som kunne være ligemeget..

Arbejdede dog lidt med og sende det over SSL eller en anden Krypteringsform.


men mange tak for alle de gode svar
Avatar billede Droa Seniormester
17. december 2014 - 23:18 #6
nogen der stadig ville have point?
Avatar billede erikjacobsen Ekspert
17. december 2014 - 23:24 #7
Ingen point til mig, tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester