[PHP] externe Funktionen ausführen

12/15/2014 22:44 Mr.Tr33#1
Moin,

weiß jemand wie ich externe Funktionen mit PHP ausführen kann?

Ich habe z.B. folgende Datei mit Funktionen: [Only registered and activated users can see links. Click Here To Register...]
Diese will ich in eine andere Datei einbinden die nicht auf dem Server liegt und dann die Funktion test() ausführen.
Ich möchte jedoch nicht die Datei herunterladen.

Kennt jemand da eine Möglichkeit?
Und bitte kommt jetzt nicht mit "sowas macht man nicht", "das ist unsicher", bla bla

MfG
Mr.Tr33
12/15/2014 22:50 Kentika#2
[Only registered and activated users can see links. Click Here To Register...] ungetestet, müsste aber klappen.

PHP Tags weglassen.
12/15/2014 22:58 Mr.Tr33#3
Achja f*ck, habe die Funktion voll vergessen, kamm irgend wie immer nur auf "exec" :D
12/16/2014 01:51 Mikesch01#4
Aber nicht vergessen, eval ist evil (böse). Sehr sparsam und übervorsichtig anwenden!
12/16/2014 03:35 Mozo_#5
Versuche es doch sonst über eine kleine API, ist um einiges sicherer wenn man es richtig macht :p
12/16/2014 18:41 Mr.Tr33#6
Quote:
Originally Posted by Mozo_ View Post
Versuche es doch sonst über eine kleine API, ist um einiges sicherer wenn man es richtig macht :p
Schön, dass du mir gleich mitgeteilt hast was für eine API du meinst.

Quote:
Und bitte kommt jetzt nicht mit "sowas macht man nicht", "das ist unsicher", bla bla
Und ich habe doch drum gebeten mit sowas nicht anzukommen. Mir ist bewust, dass es eig. unsicher ist.
12/16/2014 19:33 NotEnoughForYou#7
Quote:
Originally Posted by Mr.Tr33 View Post
Schön, dass du mir gleich mitgeteilt hast was für eine API du meinst.


Und ich habe doch drum gebeten mit sowas nicht anzukommen. Mir ist bewust, dass es eig. unsicher ist.
selber schreiben?
12/16/2014 19:39 Mr.Tr33#8
Immer noch ... was für eine API? Man kann auch kein Bild erraten, wenn man nicht weiß was drauf ist.
12/16/2014 19:42 NotEnoughForYou#9
Wenn du der Inhaber dieser Datei bist, die du auf Server x ausführen willst, könntest du als sichere Alternative dir eine API schreiben, und diese auf Server x aufrufen und dir somit die Evaluierung über eval() ersparen.
12/16/2014 20:09 Mr.Tr33#10
Den Sinn der API bzw. die Funktion der API verstehe ich immer noch nicht.

Ja, ich bin der Besitzer des Webspaces, aber ich habe mehrere verschiedene und möchte nicht ständig die Funktionen auf jedem Server austauschen und somit kann ich einfach auf die von einem Server zugreifen.
12/16/2014 20:15 NotEnoughForYou#11
Nicht die API, eine API.

Eine API ist nur eine Schnittstelle zu deinem Server. Du stellst eine Anfrage an deinen Server, der berechnet dir / macht das was du haben willst und liefert dir das Ergebnis auf deinen anderen Server. Dort kannst du dann mit dem Ergebnis weiterarbeiten. Damit sparst du dir, dass du den Code vom andern Server "kopierst" und bei dir ausführst, was eben Sicherheitsrisiken birgt.
12/16/2014 21:53 Mr.Tr33#12
Achsooo, sag das doch gleich.
Nee, dass ist mir viel zu umständlich da ich meine Funktionen gerne immer mehr erweitere etc.
Und es ist nur dann unsicher, wenn ich Daten hin und her schicke bzw. die Links zu den Funktionen durch das manuelle Eingeben eintragen kann. Tu ich aber nicht.
12/16/2014 23:38 snow#13
Dir ist bewusst, dass das Bereitstellen von PHP-Code in dieser Form so was von unglaublich unsicher sein kann und du damit wahrscheinlich alle Sicherheitsprinzipien, die jemals erfunden wurden, verletzt hast?
Zu sagen, dass es sicher ist, ist gerade bei PHP eine mutige Aussage.

Du solltest wirklich überlegen, eine API zu verwenden, da du hierbei nur die Schnittstelle nach außen hin zeigen musst, die Implementierung bleibt verborgen. Dann ist es auch komplett egal, ob du die Funktionen erweiterst oder sonst was - nach außen gibt es nur Input und Output und solange das bei neuen Versionen identisch bleibt, ist alles gut.
12/17/2014 00:03 YatoDev#14
Quote:
Originally Posted by Mr.Tr33 View Post
Und es ist nur dann unsicher, wenn ich Daten hin und her schicke
davon bekommt doch keiner was mit außer der webserver?
12/17/2014 04:07 Mozo_#15
Quote:
Originally Posted by Mr.Tr33 View Post
Achsooo, sag das doch gleich.
Nee, dass ist mir viel zu umständlich da ich meine Funktionen gerne immer mehr erweitere etc.
Und es ist nur dann unsicher, wenn ich Daten hin und her schicke bzw. die Links zu den Funktionen durch das manuelle Eingeben eintragen kann. Tu ich aber nicht.
Du kannst das bei der API ja auch stetig erweitern. Ist ja im Prinzip nichts anderes als das Textdokument was du hattest nur als PHP Datei. Das Script einfach mit den jeweiligen API Parametern aufrufen und die benötigten Werte auslesen. Bei einer API kannst du dann auch direkt Keys für den Zugriff festlegen usw und schon hat normalerweise keiner außer derjenige der die API und den Key kennt Zugriff, vorausgesetzt es wurde alles richtig umgesetzt :p