Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Link aufrufen in einem Include...

Diskussion: Link aufrufen in einem Include... im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi CommZ, Folgendes Szenario: Ich arbeite gerade an einem Script welches von einer meiner Seiten Daten an andere Seiten ...

Antwort
Alt 25.02.07, 19:48   #1 (permalink)
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard Link aufrufen in einem Include...

Anzeige

Hi CommZ,

Folgendes Szenario:

Ich arbeite gerade an einem Script welches von einer meiner Seiten Daten an andere Seiten weitervermitteln soll.

Partner 1 (1.Seite zu der es zu übermitteln gilt) hat ein Formular wo man den Namen und seine Adresse angibt.

Nun soll man auf meiner Seite ebenfalls Namen und Adresse angeben die ich nun mehreren Partnern zukommen lassen will.

Da ich die Variablen dazu vorbereiten muss, damit Sie auch so heissen wie die geforderten Daten bei den jeweiligen Seiten, habe ich mir gedacht, für jede Seite ein eigenes Include zu erstellen.

Nun bis dahin ist es ja kein Problem. Nur frage ich mich, wie setze ich jetzt das Senden der Daten um ohne für jede der Aktionen eine eigene Seite aufrufen zu müssen, in dieser ich dann die Browserzeile einfach mit den Werten vorausgefüllt habe?

Danke schonmal für eure Hilfe,

MfG,

tko2

TeeKayo2 ist offline   Mit Zitat antworten
Alt 25.02.07, 22:12   #2 (permalink)
fetzer
Guest
 
Likes:
Standard

Hä?

Also du hast eine Seite mit einem Formular. Nun werden die Daten, die du in dieses Formular eingibst an deine Partner gesendet. Bin ich soweit noch richtig? Weil das, was mit den Daten nun passieren soll, bzw das, nachdem du fragst, versteh ich rein garnicht.
  Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 26.02.07, 10:48   #3 (permalink)
Themenstarter
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Also ich möchte einfach Daten die in mein Formular eingegeben werden an andere Seite vermitteln.

Nun frage ich mich wie ich das geschickt mache, diese Daten sollen nämlich gleich dort einen Datenbankeintrag machen (weil die partnerseiten das selbe formular wie ich haben) könnte man es theoretisch über die Browserzeile erledigen.

Wenn ich in Mozilla diesen Link eingeben würde =>
www.partner1.de/seite.php?name=$name&addy=$addy&submit=submit...
Würde er dort (sofern die Variablen befüllt waren) gleich einen Eintrag machen

Soweit noch verständlich??

Da ich aber die Daten gleich an mehrere Seiten übermitteln will ist die Methode mit dem Browser die falsche, vorallem weil ich nicht möchte das im Hintergrund sich noch Seiten öffnen...

ich suche also nach einer Möglichkeit, diese Daten an das Script zu senden OHNE das man neue Seiten aufruft (im sinne von öffnen).

Hoffe das haben einige mehr verstanden sorry für die unklare Ausdrucksweise,


mfg,

tko2
TeeKayo2 ist offline   Mit Zitat antworten
Alt 26.02.07, 18:22   #4 (permalink)
 
Registriert seit: 21.02.07
n3or Leistung: Facit NTK
n3or eine Nachricht über ICQ schicken
Likes: 0
Standard

Vielleicht hilft dir fsockopen?
n3or ist offline   Mit Zitat antworten
Alt 26.02.07, 18:44   #5 (permalink)
 
Registriert seit: 09.01.07
quux Leistung: Facit NTK
Likes: 0
Standard

Hast du dir überlegt was das für Konsequenzen haben könnte?
Wenn du Daten in eine Datenbank eintragen kannst die auf einem anderen Server liegt, dann kann das u.U. auch jeder andere... Und so etwas wirklich gut abzusichern ist sehr schwierig.
Daher sollte man ja auch allow_url_fopen in der php.ini auf OFF setzen damit solche Remote-Includes garnicht erst möglich sind.

Ansonsten verstehe ich dein Problem auch nicht so ganz. Du gibst in dem Formular an, dass beim Absenden ein PHP-Script aufgerufen wird. In diesem Script kannst du die Variablen an jedes andere PHP-Script weitergeben. Auch an Scripte auf anderen Servern; du musst lediglich die absolute URL angeben und allow_url_fopen muss in der php.ini auf ON gesetzt sein.
Du wertest also die Variablen aus dem Formular aus, übergibst die Variablen an die Scripte auf den Servern und lässt sie dann dort weiter verarbeiten (z.B. in eine Datenbank schreiben).
quux ist offline   Mit Zitat antworten
Alt 27.02.07, 16:25   #6 (permalink)
Themenstarter
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hi,

danke für eure Antworten.

Wegen der Sicherheit dachte ich mir reicht es aus das A) das Script welches ich anspreche "geheim/nicht öffentlich" ist und b) das er zuvor den Referer checkt, wenn das dann stimmt soll der DB Eintrag stattfinden.

Zitat:
In diesem Script kannst du die Variablen an jedes andere PHP-Script weitergeben. Auch an Scripte auf anderen Servern; du musst lediglich die absolute URL angeben und allow_url_fopen muss in der php.ini auf ON gesetzt sein.
Gut das du mir den Tip schonmal gegeben hast irgendwo wird diese Einstellung sicherlich so sein und dann hätte ich ersteinmal wieder std. nach dem Problem suchen müssen.

Aber meine eigentliche Frage war ja nur, wie eben solch ein Include aussieht.

Kann ich das so machen:

Code:
<?php echo

<html>
<head></head>";

//variablenbestimmung

$name = $POSTname;
$addy = $POSTAddy;

 if($submit !="") { echo "
<form action='http://www.partner1.de/formular.php?name=$name&addy=$addy' method='post'>"; } echo"
<body></body>
</html>";

?>
? oder meint Ihr des anders (fsockopen-praxis mal ausgenommen).


MfG,

tko?
TeeKayo2 ist offline   Mit Zitat antworten
Alt 27.02.07, 18:32   #7 (permalink)
 
Registriert seit: 09.01.07
quux Leistung: Facit NTK
Likes: 0
Standard

LoL...

So geheim und nichtöffentlich ist dein Skript ja nicht, wenn die URL im Quelltext steht und Referers kann man fälschen.... Das is net schwer....

Wenn du es so machen willst mit der direkten Übergabe mittels POST, dann solltest du in dem Skript in dem die Variablen verarbeitet werden (z.B. in eine DB eingetragen werden) einen Schutz einbauen, der 1. den Referer prüft, 2. die Variablen sollten auf HTML-Tags und Sonderzeichen untersucht werden (bzw diese maskieren) und baue ein Flooding-Schutz ein, dass nur eine bestimmte Anzahl von Nachrichten hintereinander verarbeitet werden können.
Zudem solltest du alle Variablen initialisieren und am besten in ein Array eintragen, das jedes Mal überprüft wird, damit dem Skript nicht was untergeschoben wird, was es nicht brauchen kann... ^^
Bei der Seite auf der die Daten ins Formular eingetragen werden wäre es sinnvoll bei dem Absender des Formulars ein Cookie zu setzen, damit er nicht mehrmals hintereinander Sachen eintragen und versenden kann.
Oder besser, lass dir von dem Formular die Remote IP mitgeben und trage diese auch noch in die DB ein, so haste bei Mißbrauch gleich mal die IP. Du kannst sie auch von dem Skript das die Variablen verarbeitet überprüfen lassen usw...

Lies dir am besten das mal durch --> http://www.php.net/manual/de/security.php
quux ist offline   Mit Zitat antworten
Alt 28.02.07, 12:04   #8 (permalink)
Themenstarter
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hi,

Ja... Ich bin auf den Link gegangen un d wie so häufig bedeutet das erst mal 2 Stunden lesen und verstehen,m versteht mich nicht falsch aber würde ich jedem Link hier folgen und den durchgehen komplett hätte ich garkeine Zeit mehr. Ich bin echt nicht lese-faul wenns direkt oder noch indirekt um eines meiner Probleme geht aber das war schonwieder zuviel.

Davon abgesehen das es nett war mich darauf hinzuweisen...komm ich gerne noch mal auf meine ursprüngliche Frage zurück.

Ist es wie oben geschildert möglich nun einen DB Eintrag zu bekommen oder geht das nur wenn ich die URL manuell in Browser eintrage. Ich habe es so verstanden das es klappen müsste weil nicht weiter darauf eingegangen wurde würds aber trotzdem gerne nochmal bestätigt haben.
danke für eure Hilfe,


MfG,

tko2
TeeKayo2 ist offline   Mit Zitat antworten
Alt 28.02.07, 12:31   #9 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

was genau hast du gegen Fsockopen? is in meinen augen die einfachste nmöglichkeit.. das ganze in ne schleife packen und das array mit den partneradressen durchlaufen lassen.

Hier die anleitung wie man fsockopen verwendet: http://de.php.net/fsockopen

Und hier wie das HTTP-Protokoll aufgebaut ist (GET / POST dürfte für dich interessant sein): http://de.wikipedia.org/wiki/Hyperte...nsfer_Protocol

ich versteh auch nicht, was du da genau mit include rumhantierst?
flame ist offline   Mit Zitat antworten
Alt 28.02.07, 16:52   #10 (permalink)
Themenstarter
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

In dem Link sind nu 2 Beispiele gezeigt, aus denen es für mich nicht möglich ist abzuleiten wie ich das jetzt verstehen bzw machen soll.

Wäre nett wenn du mir einmal in ein paa Zeilen zeigst wie du das machen würdest!

MfG,

tko?

edit: Falls ich das Thema immernoch nicht richtig verständlich erklärt habe, ist ein Vergleich ganz gut. Ihr kennt sicher diese Seiten mit automatischen Suchmaschinen einträgen oder. Dort wird auch ein Datensatz "Url beispielsweise" an viele Seiten aufeinmal versendet um einen Eintrag dort zu bekommen, soetwass möchte ich auch realisieren, genau nach dem Prinzip.
TeeKayo2 ist offline   Mit Zitat antworten
Alt 01.03.07, 01:02   #11 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

PHP-Code:
<?php
# Daten aus dem formular entgegennehmen
 
$name $_GET['name'];
 
$adresse $_GET['adresse']

#Hier sind die partneradressen in einem Array festgehalten
 
$partner_array = array("www.partner1.de""www.partner2.de");

#Hier solltest du noch n paar sicherheitsvorkehrungen treffen, was ich hier nicht tue

# Und hier werden auch schon die daten versand
# für jeden arrayeintrag wird die schleife einmal durchlaufen 
 
foreach ($partner_array as $partner) {

# Connection aufbauen
 
$fp fsockopen ($partner80$errno$errstr30);
#Prüfen ob eine connection zustande kam
 
if (!$fp) {
  
#Wenn nicht fehler ausgeben
   
echo "$errstr ($errno)<br />\n";
} else {
  
# Wenn verbindung zustande kam wird unser GET aufruf gestartet
   
fputs ($fp"GET /partnerscript.php?name=".$name."&adresse=".$adresse." HTTP/1.0\r\n\r\n");
  
#danach die zurückgegebenen informationen auslesen
   
while (!feof($fp)) {
       
$data .= fgets($fp,128);
   }
 
#Verbindung wieder brav schließen
   
fclose($fp);
}

#Hier kannst du $data nun weiterverarbeiten.
#z.B. den header auswerten
#oder die die zurückgegebene seite auf erfolgreichen eintrag prüfen

}
?>
Kein Gewähr auf vollständigkeit, wollte nur schnell aufzeigen, wie ich das in etwa meinte.
flame ist offline   Mit Zitat antworten
Alt 01.03.07, 12:49   #12 (permalink)
Themenstarter
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hi,

Vielen Dank schonmal!

Ich habs mal angepasst auf meine Bedürfnisse...

Bekomme dabei immer einen Bad Request, wodran mag das liegen?

Ich denke folgende Zeile könnte falsch sein:

Code:
fputs ($fp, "GET erstes_verzeichniss/zweites_verzeichniss/danke.phtml?
vll. nur mit absolutem Pfad dachte ich aber war leider auch ned so...

Frag mich echt warum das so schwer sein muss, an ein Formular daten sendne ist ein Kinderspiel. Jetzt will man das an mehrere Senden und ich bin seid 3 Ragen in 4 verschiedenen Foren am Fragen und Hilfe suchen ?(


MfG,

tko2
TeeKayo2 ist offline   Mit Zitat antworten
Alt 01.03.07, 18:23   #13 (permalink)
 
Registriert seit: 15.08.03
flame Leistung: Facit NTK
flame eine Nachricht über ICQ schicken
Likes: 0
Standard

Aber du musst schon mindestens die ganze zeile posten. oder besser noch mehr.. und nach möglichkeit auch mit echten daten,

Bad request lässt auf ne falsche adresse schließen, das kann man natürlich nicht nachprüfen, wenn du die adressen geheim hälst.

Und wir haben grad so ne aktion, wenn wir 200 Kristallkugeln zusammen bringen, bekommt jeder ne neue, deswegen hat grade keiner eine zur Hand! *g*

EDIT: Ach ja, du musst den pfad relativ ab dem documentroot angeben. also so wie er hinter der Domain steht.
flame ist offline   Mit Zitat antworten
Alt 02.03.07, 12:31   #14 (permalink)
Themenstarter
 
Registriert seit: 12.10.05
TeeKayo2 Leistung: Facit NTK
Likes: 0
Standard

Hab dir den Code mal per PN gesand(t?).
Bitte mal in die PN-Box schauen

MfG,

tko2
TeeKayo2 ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Link aufrufen in einem Include...
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
include bei C und C++ DragonRPA Code Kitchen 7 15.08.09 11:06
php include haX Code Kitchen 6 15.06.07 13:41
Include und Wertübergabe per Link Prometheus (Web-) Design und webbasierte Sprachen 12 14.06.06 02:41
link hinter einem webradio gOtMilk? Internet Allgemein 4 12.04.06 18:50
Popup mit Link von einem Bild öffnen Hashishin Code Kitchen 7 16.07.05 12:04


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61