![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 | ||
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Hallo, im Html Board gibt es grad eine Disskussion... Also ich möchte auch gerne frames und iframes vermeiden wo es nur geht. Kriegs aber irgendwie nicht hin, es klappt nicht: - http://my.webfan.de/curl.php Es sollen aber die Cookies auch ausgelesen werden: - http://my.webfan.de/global_menu.php Meine einzige Idee bisher (außer das ich was falsch mach/übersehen hab) ist die Cookies für jede Domain extra zu erstellen (Ping-Pong mäßig zu synchronisieren/spiegeln) - ich hab aber schon jetzt viel zu viele cookies, ist also unschön. Hat jemand eine Idee? mfg EDIT: Zitat:
EDIT2: Zitat:
Geändert von Homepagespeicher (12.08.2006 um 17:47 Uhr) | ||
| | |
| | Nach oben #2 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.516
|
Vielleicht bin ich zu doof, aber
Danke. | |
| | |
| | Nach oben #3 | ||
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
| Zitat:
Zitat:
Das script liest Cookies aus. Wenn ich aber das script mit curl (erster Link) einbinde funktioniert die Übergabe der Cookiedaten nicht (Man ist immer nicht angemeldet und hat nichts ausgewählt)! (Zum testen muß man sich nur mal kurz anmelden, nicht registrieren, es wird nichts gespeichert!) - Ich weiß nicht ob das überhaupt geht, hab aber das Gefühl es geht irgendwie nur mach irgendwas grundsätzlich falsch. mfg | ||
| | |
| | Nach oben #5 |
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Ich hab die Funktion von dsxs benutzt (thx!) http://forum.developers-guide.net/sh...4194#post34194 PHP-Code: Aber das ganze soll doch ins "client-script" - oder EDIT: - Seh grad: Hab ich auch vergessen im ersten Post zu schreiben, "was muß da hin", tststs... sorry ----------------- EDIT 2: So. hab den Useragent und den Pfad nochmal angepasst und CURLOPT_VERBOSE auf 1 gesetzt - Geht aber trotzdem nicht (Wird kein Cookie gespeichert) Frage: - Geht das überhaupt so? Ein script darf ja nur cookies der eigenen Domain auslesen. Wie sollen denn die Cookiedaten vom Client-Browser über ein Client-Script zum Server-Script kommen? Ich dachte mit curl hätte ich vielleicht eine Chance, oder bin ich auf dem Holzweg? Geändert von Homepagespeicher (12.08.2006 um 20:38 Uhr) |
| | |
| | Nach oben #6 |
| leftover when bar closes Registriert seit: 29.06.2006 Ort: Bern
Beiträge: 123
|
Kurz zum abchecken: du möchtest den HTML code, welcher von der Datei erzeugt wird (http://my.webfan.de/global_menu.php) auf verschiedenen Seiten (auch verschiedenen Domains) einbinden und anzeigen lassen? Nun stellen sich mir 2 Fragen: 1.) warum löst du das ganze nicht PHP intern (include...)? 2.) Wenn du das aus irgendwelchen Gründen nicht willst bist du mit cURL schon an der richtigen Stelle - aber wieso verwendest du cookies?? Gruss Edit: curl_setopt($ch, CURLOPT_COOKIEJAR, "home/www/web68/phptmp/cookies.txt"); wird curl_setopt($ch, CURLOPT_COOKIEJAR, "/home/www/web68/phptmp/cookies.txt");
__________________ Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner. ticketbörse |
| | |
| | Nach oben #7 | |||
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Hallo, erstmal vielen Dank für Deine Hilfe !!! Den /hab ich schon korrigiert - geht trotzdem nicht, aber ich hab jetzt meinen "Denk"fehler... agrrr... Zitat:
Zitat:
Zitat:
Jetzt mein Denkfehler / mein Problem: - Die Cookies sollen beim ersten Aufruf gelesen werden (oder muß ich vielleicht irgendeine Seite dafür neu laden???) - geht das? Also die Cookies werden an anderer Stelle gesetzt ( http://www.webfan.de/modules/My_Webf...pers-guide.net ) -> die cookies befinden sich jetzt im Browser des Users und NICHT, wie es sein sollte (?) im Curl-Client (cookies.txt)! - global_menu.php soll die Cookies auslesen, aber ohne sie gesetzt zu haben. geht das? Dafür müsste curl ja quasi den Browser des users mit seinen Cookies quasi "direkt durchreichen", ich weiß nicht, geht das bei proxys so...? - Nochmal kurz und bündig mein Vorhaben: ->curl.php (z.B.) soll global_menu.php aufrufen, ->global_menu.php soll jetzt die Cookies des UserBrowsers auslesen (hierbei eben das Problem mit der Cookiedomain?!?) ->und ein entsprechendes html-result zurück an curl.php liefern Mein Problem scheint bisher zu sein das die Cookies nur verfügbar zu sein scheinen, wenn sie auch vom curl"vorgang" in die cookies.txt oder so gesetzt wurden ? Wie lös ich das am sinnvollsten? mfg + thx Till | |||
| | |
| | Nach oben #8 | |
| leftover when bar closes Registriert seit: 29.06.2006 Ort: Bern
Beiträge: 123
|
Hey Till Ich glaub' ich seh' so ungefähr was du machen möchtest... boaaa Was du glaube ich willst ist, dass so ziemlich jeder dieses kleine Fenster oder Menü auf seine Seite einbauen kann... bis hierhin noch richtig? Zudem soll das Menu stets für den User der es gerade sieht personalisiert sein? Damit erübrigen sich auch meine beiden Fragen, was du vorhast ist demnach nicht mit einem einfachen "include" machbar. Du gehst aber glaube ich ganz falsch an die Sache ran. Zitat:
Ich sehe drei Aspekte 1. User (Der, der das Win sieht) 2. Server, wo das script eingebunden wird (ulf_sitzt.imknast.de, oder halt auch webfan.de usw) 3. Server, wo das Script läuft (webfan.de) Also ist das was du vorhast in der Art nicht möglich... Die Menuoptionen willst du ja in der Session des Users (1) speichern... Woher sollte also die Nr. 3, der Server, wo das Script läuft wissen, was der User in seiner Session drin hat? Kann er nicht, auf jeden Fall nicht auf die Weise wie du's vorhast. Die einzige Möglichkeit, die mir gerade in den Sinn kommt ist folgende: Nummer 2 (Der Server, wo das Script läuft) setzt und liest die Sessiondaten für den User. Das Script auf Nummer 3 (welches den HTML code schlussendlich produziert) sitzt auf dem Server rum und wartet dort auf INPUT in Form von POST oder GET Elementen... d.h du machst von Nummer 2 aus etwas in der Richtung: curlPOST('http://webfan.de/fenster_mach_teil.php','eingelogt=0&menu_aktiv=pin wand'); Das Script selber (nr 3) wertet diese Daten nun aus und gibt dementsprechend einen HTML code aus, welcher wiederum von curlPOST ausgelesen wird und weiterverarbeitet werden kann (echo...!?) So kriegt der User sein personalisiertes Menu auf den Schirm geschmissen. Frage ist nun bloss: sind das sensible Daten, mit Login usw, wo der User dann zB informiert wird, wenn ein neues Mail angekommen ist oder dergleichen? Falls ja, 3 Denkanstösse hierzu: 1.) cookies und sessions im Allgemeinen sind sehr unsicher und einfach manipulierbar. Nicht jeder User akzeptiert cookies, also müssten trans_sid's möglich sein, was wieder grosse Sicherheitslöcher aufmacht. 2.) falls das so ist kannst du die jeweilige Session_id ja jeweils im curlPOST mitliefern. Bedingt jedoch, dass auf der Nr.3 wo das Script läuft in ner Datenbank die eingelogten user und deren infos sind... was du nicht willst wie du gesagt hast? 3.) wenn du alles schon so sexy mit curl löst, dann würde ich persönlich auch gleich einstellen, dass das fenster (http://my.webfan.de/curl.php) auch nur von deinem script gelesen und nicht von überall mit dem browser geöffnet werden kann. zB bei jedem curlPOST eine variable privacy=7686123 mitsenden if (isset($_POST['privacy']) && $_POST['privacy'] == '7686123') { html ausgeben; } else { header("Location: yousuck.webfan.de"); } Vielleicht habe ich dein Vorhaben aber auch völlig falsch verstanden und du willst was ganz anderes machen. Auf alle Fälle viel Spass, ich geh jetzt endlich pennen
__________________ Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner. ticketbörse | |
| | |
| | Nach oben #9 |
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Ich war zu lange wach... Aber bin nun ein bischen schlauer... Du hast mich denk ich richtig verstanden, und mir auch geholfen, Danke Es ginge mit einem Ping-Pong Post. Mir sind noch ein paar wichtige Ideen gekommen... aber brauch erstmal ne Pause! mfg+thx Till |
| | |
| | Nach oben #10 | |
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Mh. Ich bin ein wenig ausgeschweift... Was ich bisher hab ist etwas "strange", aber ich bastel noch Habe aber noch nicht curl verwendet (kommt aber noch). Stattdessen muß der Benutzer erst einen Link klicken um zum Cookieeinlesen zu gelangen, das Ergebnis wird gespeichert, der User wird zur Ausgangsseite zurückgeleitet, von dort wird mit der übergebenen Session das Ergebnis wieder ausgelesen. Erstmal nur zum testen: Zitat:
Wenn jemand Fehler findet oder Vorschläge hat... . Hab da auch wieder eine Frage: Die Variable $_CL_HPLINK funzt nicht, wird aber genauso verwendet wie $_CL_HEADLINE, die aber funzt - warum? ..... Es gibt ja eigentlich die Leitregel, neue Frage, neues Thema..., naja sorry. Allerdings scheint das Thema etwas komplexer.... (also Inhalte von außen zugänglich machen, ohne frames verwenden zu müssen... . mfg EDIT: ...So, sieht zwar noch blöd aus, aber der Fehler ist weg.... Geändert von Homepagespeicher (19.08.2006 um 08:17 Uhr) | |
| | |
| | Nach oben #11 |
| me pro ok? Registriert seit: 07.09.2005 Ort: Pulheim bei Köln
Beiträge: 964
| PHP-Code: Ne, mal im Ernst, führe niemals Code aus, von dem du nicht genauestens weißt, was er macht. Übrigens gehört da das echo() hin, ich denke ja mal dass es bei deiner Sache um HTML auslesen geht.
__________________ Gedanken aus Draht stricken einen Zaun. |
| | |
| | Nach oben #12 | |
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Gott bewahre, ich will nicht abknallen. (der Brunch ist erst morgen, fast wäre ich umsonst losgefahren... Zitat:
Hier der bishereige Code Code: ###############################################################
#
#
#
# RF-Network Project
# - file global_menu.php
# V. testrelease (Testversion)
# - Code template file
# - Public
#
# !!!!! Attention!!!:
# Use on own danger -
# keine besondere Haftung des Herstellers
#
# !!!!! Attention!!!:
# Test-(Entwicklungs)version - (Noch) nicht zum Gebrauch freigegeben
#
#
# © WEBFAN - 8/2006
# http://www.webfan.de
#
# Forum: http://www.startforum.de
# ####################################################
#
# Usage example: Einbau (Beispiel) in php Code:
#
# $file_= "http://webfan.de/w/tpl/global_menu.php.tpl";
# $filestring = file_get_contents($file_);
# $_CL_HEADLINE = "Titel Deiner Seite";
# $_CL_HPLINK ="www.DEINE_SEITE.DE/";
# $_USECOOKIES = 0; // default=0 (not sinnvoll?)
# $_REFERER_CHECK =0; //default=0 (not secure)
# //optional:
# //session_start();
# eval($filestring);
#
# //optional, da $_CL_HPLINK nicht funktioniert (????????????:(
# // (Link um Ihre Seite den Top20 hinzuzufügen:-)
# echo "<font size=\"-1\"><a href=\"http://www.webfan.de/modules/My_Webfan/mytop20.php?action_=add&link_=http://www.DEINE_SEITE.DE&name_=DEINE SEITE\" target=\"_blank\"> Diese Seite zu Deiner My Top20 hinzufügen...</a></font>";
# //Im Script:
# $_CL_SHOW_MYLINK = 1;
#
# ## Ende d. Einbaucodes
#
################################################################
@session_start();
function defaultmenu()
{
$t_=time();
$k_= session_id();
$nk=$_server['http_host'].$_server['request_uri'].$t_;
if(isset($k_) && $k_!=''){$k_=$k_;}else{$k_=md5($nk);}
echo "
<a href=\"http://webfan.de/w/index.php?/sessionk/".$k_."/RQ/getcontentredirection/dyn_content/global_menu/\" style=\"text-decoration:none\" target=\"_parent\"><img src=\"http://webfan.de/w/tpl/menudefault1.jpg\" alt=\"Dein persönliches Navigationsmenu auf dieser Seite anzeigen\" border=\"0\"> </a>
<a href=\"http://www.webfan.de/modules.php?name=My_Webfan\" style=\"text-decoration:none\" target=\"_parent\"><img src=\"http://webfan.de/w/tpl/menudefault2.jpg\" alt=\"Zum My.Webfan.de Service anmelden / Menu konfigurieren...\" border=\"0\" ></a>
";
}
function webfannavigation($_USECOOKIES,$_REFERER_CHECK,$_CL_HEADLINE)
{
$val=1;
if($_REFERER_CHECK==1)
{
$referer_ = $_SERVER["HTTP_REFERER"];
$referer_ = parse_url($referer_);
$referer_host = $referer_['host'];
$referer_host = str_replace("www","",$referer_host);
$val=0;
}
if($_USECOOKIES==1)
{
$_WEBFAN_sessionkey=strip_tags($HTTP_COOKIE_VARS['WEBFAN_sessionkey']);
}
if(!isset($_SESSION['WEBFAN_sessionkey']))
{
if(!isset($_GET['WEBFAN_sessionkey']))
{
$_WEBFAN_sessionkey=NULL;
$_SESSION['WEBFAN_sessionkey']=NULL;
}else{
if($val==1){
$_WEBFAN_sessionkey=strip_tags($_GET['WEBFAN_sessionkey']);
$_SESSION['WEBFAN_sessionkey']=$_WEBFAN_sessionkey;
}
}
}else{$_WEBFAN_sessionkey= $_SESSION['WEBFAN_sessionkey'];}
$_SESSION['WEBFAN_sessionkey']=$_WEBFAN_sessionkey;
if(!isset($_SESSION['WEBFAN_accesskey']))
{
if(!isset($_GET['WEBFAN_accesskey']))
{
$_WEBFAN_accesskey=NULL;
$_SESSION['WEBFAN_accesskey']=NULL;
}else{
if($val==1){
$_WEBFAN_accesskey=strip_tags($_GET['WEBFAN_accesskey']);
$_SESSION['WEBFAN_accesskey']=$_WEBFAN_accesskey;
}
}
}else{$_WEBFAN_accesskey= $_SESSION['WEBFAN_accesskey'];}
if(isset($_GET['WEBFAN_accesskey']))
{
$_WEBFAN_accesskey=strip_tags($_GET['WEBFAN_accesskey']);
$_SESSION['WEBFAN_accesskey']=$_WEBFAN_accesskey;
}
if(isset($_WEBFAN_accesskey) && $_WEBFAN_accesskey!='' && $_WEBFAN_accesskey!=NULL )
{
$file_= "http://webfan.de/w/cache_1/".$_WEBFAN_accesskey.".htm.cache";
$filestring = @file_get_contents($file_);
if(!empty($filestring) && $filestring!='')
{
eval($filestring);
}
else
{
defaultmenu();
}
}
else{defaultmenu();}
echo "<br>";
if($_CL_SHOW_MYLINK==1)
{
echo "<font size=\"-1\"><a href=\"http://www.webfan.de/modules/My_Webfan/mytop20.php?action_=add&link_=http://".$_CL_HPLINK."&name_=".$_CL_HEADLINE."\" target=\"_blank\">Diese Seite zu Deiner My Top20 hinzufügen...</a></font>";
}
ob_end_clean();
ob_end_flush();
}
webfannavigation($_USECOOKIES,$_REFERER_CHECK,$_CL_HEADLINE);
############EOT###############################################################
Das Eval wir bei dem "Clientserver" ausgeführt, der Code soll feststellen ob ein Accesskey übergeben wurde/in der Session vorhanden ist, und wenn dann den entsprechenden Code aus dem "Cache" laden, wenn kein Key vorhanden ist oder der Code im Cache nicht auffindbar ist, wird defaultmenu geladen. Mir ist übringens noch eine Alternative (generell dazu mein ich) eingefallen: Man könnte natürlich JavaScript verwenden, JavaScript ist aber nun mal nicht php.... Der Vorteil von eval ist eindeutig das Dublicate Code gespart werden kann, oder? (Sessionkey in dem Code ist bisher überflüssig/später relevant) mfg Geändert von Homepagespeicher (19.08.2006 um 13:09 Uhr) | |
| | |
| | Nach oben #13 | |||
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
| Zitat:
Zitat:
Zitat:
__________________ I did it my way - Senseless-Blog Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009 | |||
| | |
| | Nach oben #14 | |||
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
|
Erstmal: Klar, sicher ist sicher! Zitat:
Wie, darum? Darum geht es ja: eval sicher zu verwenden (vielleicht wäre ja ein neuer Thread dazu oder ein Tutorial von einem Experten angemessen). Zitat:
Also mit "Client" meine ich den Server der das evalige anwendet, sich also den Content vom "ProviderSevrver" beschafft (sorry, wenn ich da das Latein nicht so drauf hab) Es geht darum - Code zu reduzieren - "Updatebar" zu machen Der Anwender kann also einen Code einbauen und soll ihn nicht jedesmal ändern müssen wenn die Applikation upgedated wird..., oder so ähnlich. Also wo ist jetzt hier konkret eine Sicherheitslücke? Zitat:
- $file_= "http://webfan.de/w/tpl/global_menu.php.tpl"; $filestring = file_get_contents($file_); - $file_="http://webfan.de/w/cache_1/".$_WEBFAN_accesskey.".htm.cache"; $filestring = @file_get_contents($file_); Wenn ich nichts übersehen habe sollte $filestring immer eindeutig und nicht manipulierbar sein, oder täusche ich mich? mfg Geändert von Homepagespeicher (19.08.2006 um 15:21 Uhr) | |||
| | |
| | Nach oben #15 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
du liest den content einer fremden seite aus und evaluierst ihn. sprich du behandelst den string, als wäre er php-code. wenn jetzt irgendwo code drin steht, wird er ausgewertet anstatt einfach nur angezeigt. zur inhaltswiedergabe ist echo $filestring; einzige was du brauchst. schon is die gefahr von gefährlichen code gebannt... außerdem: warum machst du file_get_content wenn die datei selbst auf deinem server liegt? da reicht doch ein include auch aus....
__________________ I did it my way - Senseless-Blog Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009 |
| | |
| | Nach oben #16 | ||
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
| Zitat:
Zitat:
... die Endlösung soll ein möglichst dezentrales "Netzwerk", p2p in php quasi werden... Das Menu wird beispielsweise auf webfan.de und startforum.de angezeigt. Außerdem möchte ich die Möglichkeit anbieten das Menu auch auf anderen Seiten einzubinden. Wenn ich ein System für mich gefunden habe soll das Angebot(/Menu) erweitert werden. ... Ein Endlosthema... mfg EDIT: - OK. Werd mal schauen, für die html Wiedergabe dürfte ein echo reichen... EDIT[2]: - So hab das zweite eval durch echo ersetzt... mfg Geändert von Homepagespeicher (19.08.2006 um 16:33 Uhr) | ||
| | |
| | Nach oben #17 | ||
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
| Zitat:
Zitat:
__________________ I did it my way - Senseless-Blog Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009 | ||
| | |
| | Nach oben #18 | ||
| Benutzer Registriert seit: 20.08.2005
Beiträge: 91
| Zitat:
Zitat:
Ein Einwand wäre dabei jedoch theoretisch, es könnte sich in einem anderen Fall auch um php oder anderen Code handeln. Ich suche wie gesagt Wege frames zu vermeiden bei Anwendungen die auf verschiedene Domains/Server verteilt sind, ganz allgemein erstmal. (Das die Beispiele oben mit dem Menu trotzdem noch im frame sind liegt wohl daran daß ich erstmal durch die templatesysteme der Seiten da durchsteigen muß...) mfg | ||
| | |
| | Nach oben #19 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.653
|
Ich denke du hast ein kleines Logikproblem. Du denkst zu komplex Hol dir die Daten die du haben willst (file_get_content()), dann bereitest du sie so auf, dass du sie ausgeben könntest und packst das, was du "gesammelt" hast, einfach in ein Div oder eine Tabellenzelle und gut ist. Ich würde gar nicht erst auf die Idee kommen, Frames zu nutzen
__________________ I did it my way - Senseless-Blog Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009 |
| | |