Beiträge von 1234d1

    Hallo,
    ich kann bei meinem Hoster aussuchen, ob ich allow_url_fopen nutzen möchte oder nicht.

    Ich bin recht sicherheitsversiert und weiß, dass man generell Variablen vor der Verarbeitung typisiert bzw. allgemein absichert.

    Dennoch ist mir der Unterschied von allow_url_fopen im Bezug auf 2 Funktionen unklar.


    • Es soll unterbunden werden fremde PHP Dateien zu includieren.
    • Es soll jedoch möglich sein - HTML anderer Webseiten beispielsweise mittels file_get_contents auszulesen.


    Ersteres wird, da bin ich mir recht sicher, durch allow_url_fopen = off verhindert. Unteres ebenfalls? Das würde mich dazu bringen, allow_url_fopen = on zu setzen.

    Danke

    Hm, wie meinst du das genau, filtert er dir jetzt zu wenig, oder zu viel heraus ?
    Bzw. versteh ich das richtig, dass er jetzt alle Links bis auf mailto: filtern soll ?
    In dem Fall würde ich einfach das array einmal durchsuchen und alle mailto: rauszulöschen, sollte einfacher gehen, als das Rexex wieder umzuschreiben.

    Also ich habe das nun erstmal mit substr() gelöst und dann halt geguckt ob mailto: im Array steht. An der ersten Position steht.

    Konkret wollte ich nur wirkliche Links also kein mailto: oder #text Verweise und da wäre es für mich nun interessant wie man zumindest das mailto: hätte weglassen können, da es sich hierbei ja um mehre Buchstaben handelt und dies so in der Gruppe nicht einfach reingeschrieben werden kann.

    Danke

    Meine Güte, ich kann heut irgendwie nicht mehr klar denken ~.+
    Sag bescheid, falls ich noch was vergessen habe ...

    Code
    |<a.*\s+href=[\'\']([^\'\']*)[\'\'].*>.*</a>|Ui

    Das U und das i am Schluss sind Modifikatoren.

    Vielen Dank für deine Hilfe. Ich würde noch gerne 2 Sachen mehr Filterm, weiß jedoch nicht, wie ich dies in der Regex ergänze.

    Code
    [8] => Array
            (
                [0] => <a href="#A.20">FAQ</a>
                [1] => #A.20
            )
    PHP
    <a.*\s+href=[\'\']([^\'\']*)[\'\'\#].*>.*</a>

    Erstellt jedoch noch die ganzen Arrays. Kann man dies verhindern?

    Code
    [22] => Array
            (
                [0] => <a class="mail" href="mailto:test@test.de"><img src="/img/mail.gif"/>per Email</a>
                [1] => mailto:test@test.de
            )
    PHP
    <a.*\s+href=[\'\']([^\'\']*)[\'\'mailto]:.*>.*</a>

    Geht so gruppenbedingt auch nicht.

    Da auf mein Thread niemand so schlau antworten konnte, frag ich hier grad mal rein, da es zum Thema passt:

    Wie müsste das RegEx aussehen, wenn man NUR die Links ersetzen müsste (wenns ginge, irgendwie in einem Schritt per preg_replace(), oder so...).
    Das heisst so:

    <a href="?url=xyz">....

    nach so:

    <a href="http://www.xyz.yz/?hello=http://iuoi.com/?url=xyz">...

    Du kannst get Parameter mit dem ? einleiten. Anschließend müssen die Parameter aber mit einem & getrennt werden.

    http://domain.de/index.php?param1=wert1&param2=wert2

    Dann zeig mal bitte den Rest deines Skriptes bzw. die Links O.o
    Hab das grad mal beim FH Quelltext probiert, und da geht es wunderbar ...

    PHP
    <?php
    $source = '<a href="kontakt/allgemein.html" onfocus="blurLink(this);">Kontakt</a>';
    preg_match_all('|<a\s+href=[\'\']([^\'\']*)[\'\']\s*>.*</a>|Ui', $source, $target, PREG_SET_ORDER);
    print_r($target);
    ?>

    Leeres Array... was macht das |Ui denn?

    Versuch mal folgendes Pattern:

    Code
    <a[^>]*href=(?:\"|\')([^>]*)(?:\"|#|\'|mailto:)[^>]*>

    Das hat zwar nun die Links drin, aber ich verstehe nicht was [^>] macht und es wird zudem oft noch mehr mitgenommen:

    Code
    [22] => Array
        (
            [0] => <a href="seite/einleitung.html" onfocus="blurLink(this);">
            [1] => seite/einleitung.html" onfocus="blurLink(this); <= overhead
    [26] => Array
        (
            [0] => <a class="mail" title="&Ouml;ffnet ein Fenster zum Versenden einer E-Mail" href="mailto:info@trest.de">
            [1] => mailto:info@trest.de <= mailto soll nicht rein

    Versuchs mal mit preg_match_all() und schau dir bei regex greedy/ungreedy an.

    Ich habe dazu nur das hier gefunden, womit ich was anfangen konnte:
    http://www.exampledepot.com/egs/java.util.regex/Greedy.html
    Mit

    Code
    <a.*href=(?:\"|\')(.*?)(?:\"|#|\'|mailto:).*?>


    geht es aber genausowenig.

    Hallo,
    ich habe ein eigentlich funktionierendes Pattern geschrieben, welches mir jedoch in der Praxis Probleme bereitet.

    HTML
    <a.*href=(?:\"|\')(.*?)(?:\"|#|\'|mailto:).*>

    Hier sollte im Array eigentlich immer nur folgendes stehen:

    Leider sieht es bei mir zum Teil so aus:

    Demnach geht also der Link service/newsletter.html verloren, was sicherlich durch das Pattern .* hervorgerufen wird. Nur wie kann man das ändern?

    Vielen Dank

    Hallo,
    ich wollte mich auf einer Seite einloggen und dort mein Status über ein Formular updaten. Der Login funktioniert, jedoch wird das Cookie anscheinend nicht gespeichert, denn sobald ich auf die andere Seite gehe, wird mir angezeigt, ich solle mich bitte einloggen.



    Woran kann dies liegen?
    Danke euch!

    Hallo, wenn ich folgende Div Struktur nehme dann packt der die Kästen untereinander. Also die Divs mit den Klassen "dienst" und "server".
    Wenn ich allerdings bei dem CSS .server noch ein float:left; reinpacke, dann sind die wie gewünscht nebeneinander.

    Das verstehe ich nicht, da normalerweise das float:left; bei .dienst ausreichen sollte oder?

    Danke

    Hallo,
    wie komme ich bei folgender Webseite:
    http://whois.domaintools.com/89.244.145.140
    An die Länderinformationen?

    Hier ist noch irgendetwas falsch, wo ich jedoch nicht weiß warum.

    PHP
    <?php
    
    
    $stringvar = readfile('http://whois.domaintools.com/89.244.145.140');
    $treffer = preg_match("!<img src=\"http://img.domaintools.com/flags/[\w]{2,2}.gif\" alt=\"[\w]+\" width=\"[0-9]+\" height=\"[0-9]+\">!", $stringvar, $find);
    
    
    //Warning: file(http://whois.domaintools.com/89.244.145.140) [function.file]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in /home/ccccccc/public_html/ipland.php on line 3
    ?>


    Danke

    Aus:


    und:

    Zitat

    hallo das ist ein teste ä -------------------- ß

    wird:

    Code
    hallo das ist ein teste &amp;auml; --------------------       &amp;szlig;

    Was wohl nicht stimmt.

    Quatsch! Naturlich geht das!

    HTML-Code:

    Code
    Hier ist ein &amp; und das wandeln wir jetzt um
    <br>oder (und besser)<br>
    Hier ist ein &amp; und das wandeln wir jetzt um

    Ich meinte damit, dass es genau das gleiche ist wie mein versuch oben
    im Quelltext stehts richtig aber in der Textbox wird halt das & angezeigt
    dort soll aber das &amp; zum kopieren stehen.

    Hallo,
    ich wollte einen Umwandler schreiben, der mir Umlaute und Sonderzeichen in HTML Codes in einer Textbox ausgibt, bei Ä,ä... geht es aber beim
    & steht nur im Quelltext &amp; und in der Textbox wird das & angezeigt. Kann man das irgendwie ändern, dass auch beim & das &amp; in der
    Textbox angezeigt wird?

    Das umwandeln mache ich mit

    PHP
    str_replace('&','&amp;',$_POST['normalertext'])

    Danke