Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

publiceren content achter wachtwoord mogelijk?

None
20 antwoorden
  • Beste mensen,

    Graag wil ik op een website content weergeven dat achter een wachtwoord verborgen zit. Normaliter log ik in met behulp van mijn wachtwoord en gebruikersnaam, maar graag zie ik de inhoud als tekst op een webpagina verschijnen.

    Het gaat hier om een toegang via .htaccess. Is iets dergelijks met scripting (php bv) te realiseren. Of wordt dit moeilijk? Graag jullie ideeën hierover.
  • gewoon .htaccess bestand aanpassen/verwijderen? :-?

    [e]
    :lol: bedoelde wat gerben hieronder ook zegt
  • [quote:3ffbb6dc8a="Jakobvk"]gewoon .htaccess bestand aanpassen/verwijderen? :-?[/quote:3ffbb6dc8a]

    bizar antwoord…


    $handle = fopen("http://user:password@example.com/somefile.txt", "w"); en volgens mij werkt dat ook met file()
  • mm. apart php scriptje. bij mij werkt het niet helemaal.

    @Jacob
    .htaccess verwijderen is inderdaad absurd. Daarbij komt dat de website niet onder mijn beheer is.

    ik weet dat met ftp een account vaak wel te bereiken is onder bv f t p:// username:password@website.com

    is dit niet mogelijk met .htaccess?
  • Het zou wel moeten werken, maar haal die "w" eens weg? Das toch write? (zo uit mn hoofd) –>dat gaat denk ik niet lukken ;)

    http://nl3.php.net/fopen

    ipv "w" dus "r" gebruiken.
  • stom ik had inderdaad de w laten staan…
  • Ik heb ook even http://nl3.php.net/fopen doorgenomen. 'w' heb ik gewijzigd naar 'r'. Helaas is alleen een witte pagina te zien. Ik geef wel een absoluut url op, zelfs een bestandsnaam.

    raar. *ik zoek even verder*
  • stukje (pseudo)code ?
  • Dit is - volgens mij - het enige wat ingevoerd moet worden:


    <?php

    $handle = fopen("http://usrnm:psswd@sub.domein.nl/map/bestand.html", "r");

    ?>

    *Als je dit tenminste bedoelt ;) *
  • Als je nou buiten die directory een php bestand zet, en vandaaruit de bestanden in de beveiligde directory include?
  • Je moet weten dat ik geen vat heb op de beveiligde directory. Die is van iemand anders en ik heb daar netjes wachtwoorden voor gekregen. Voor het gemak wil ik dus een eigen pagina op mijn webserver zetten, zodat ik ten aller tijde gemakkelijk kan bekijken zonder in te loggen.

    maIRnaairruJ's oplossing is heel logisch, alleen werkt deze niet bij mij: witte pagina helaas.
  • Nee :)

    Gerbens idee is dit: Op je webserver waar de beveiligde content zit, zet je een map lager:

    <?php
    include("secure\secure.htm");
    ?>



    dat idee dacht ik te begrijpejn :)
    (maar dan moet je wel toegang tot die webserver hebben)
  • ja, dat had ik al door > (heb ondertussen mijn berich geëdit)
  • Uhuh

    je moet nog wel wat met die handle doen natuurlijk ;)

    http://nl3.php.net/manual/nl/function.fgets.php

    lees

    [code:1:5194afb880]<?php
    $handle = fopen("http://usrnm:psswd@sub.domein.nl/map/bestand.html", "r");
    while (!feof ($handle)) {
    $buffer = fgets($handle, 4096);
    echo $buffer;
    }
    fclose ($handle);
    ?>[/code:1:5194afb880]
    (zou moeten werken)
  • En die .htaccess is ook niet aan te passen, zodat jouw ip zonder restricties toegang heeft?
  • @webspider: dit werkt inderdaad! enige probleem is dat het een frames pagina is die wordt weergegeven :( . Dit betekent dat ik de inhoud nog niet zie, maar daar is uiteraard aan te werken.

    Als ik trouwens een plaatje uit de drectoriy achter de .htaccess dir wil tonen, zie ik alleen tekst. weird…


    @gerben: ik kan niet bij de .htaccess. Het is van een bedrijf en daar mag ik niet achter. - dit zou het inderdaad makkelijker maken -.
  • [quote:212cda1355="Dilbert"]@webspider: dit werkt inderdaad! enige probleem is dat het een frames pagina is die wordt weergegeven :( . Dit betekent dat ik de inhoud nog niet zie, maar daar is uiteraard aan te werken.[/quote:212cda1355]

    Opzetje:
    (scriptje dat ik gemaakt heb voor een heel andere reden, maargoed, zie maar of je dat kunt bedenken :P)

    [code:1:212cda1355]<?php

    /* adres pakken
    nl: getenv() om het /www.google.com deel te pakken
    en dan de eerste / weglaten met een evil substr*/

    #$adres="google.com";
    $adres = substr(getenv("PATH_INFO"),1);
    if (getenv("QUERY_STRING")) $adres .= "?".getenv("QUERY_STRING");



    /* connectie maken
    a) adres splitsen in server en adres
    b) connectie opzetten
    */

    // a) splitsen
    //gewoon voor en na /? :)

    list($server, $adres) = split("/",$adres,2);
    $adres = "/".$adres;

    #b) connection
    $fp = fsockopen($server, 80, $errno, $errstr, 30);
    if (!$fp) {
    exit("$errstr ($errno)<br />
    ");
    } else {
    $out = "GET ".$adres." HTTP/1.0
    ";
    $out .= "Host: ".$server."
    "; #www.platypusnet.org
    ";
    $out .= "Connection: Close

    ";
    }

    #data binnentrekken
    fwrite($fp, $out);
    while (!feof($fp)) {
    $in .= fgets($fp,1024);
    }
    fclose($fp);

    #content-type zoeken

    list($headers, $data) = split("

    ",$in,2);
    $arr_headers = explode("
    ", stristr($headers,"content-type:"));
    #nu hebben we een kant-en-klare header om te outputten :+
    header($arr_headers[0]);

    #$contenttype = ltrim(substr(strstr($arr_headers[0],":"),1));
    #echo "Headers:".$contenttype;

    #nu gaan we de data regexpen :)
    # mijn script = "http://$ENV{'SERVER_NAME'}:$ENV{'SERVER_PORT'}$ENV{'SCRIPT_NAME'}"
    # dus: "http://".getenv("SERVER_NAME"}.getenv("SCRIPT_NAME"}
    $scripturl = "http://".getenv("SERVER_NAME").getenv("SCRIPT_NAME");

    if (stristr($arr_headers[0],"text/html") != false) {
    // 0,1 en 2: ="http:// en =http:// en 'http:// :*

    $patterns[0] = "|=\"http://|i";
    $replacements[0] = "=\"".$scripturl."/";
    $patterns[1] = "|=http://|i";
    $replacements[1] = "=".$scripturl."/";
    $patterns[2] = "|='http://|i";
    $replacements[2] = "='".$scripturl."/";

    // 3,4 en 5: ="/ en =/ en ='/
    $patterns[3] = "|=\"/|";
    $replacements[3] = "=\"".$scripturl."/".$server."/";
    $patterns[4] = "|=/|";
    $replacements[4] = "=".$scripturl."/".$server."/";
    $patterns[5] = "|='/|";
    $replacements[5] = "='".$scripturl."/".$server."/";

    // 6,7 en 8: ="\ en =\ (eng >:))

    $patterns[6] = "|=\"".chr(8)."|";
    $replacements[6] = "=\"".$scripturl."/".$server.chr(8);
    $patterns[7] = "|=".chr(8)."|";
    $replacements[7] = "=".$scripturl."/".$server.chr(8);
    $patterns[8] = "|='".chr(8)."|";
    $replacements[8] = "='".$scripturl."/".$server.chr(8);


    ksort($patterns);
    ksort($replacements);
    //$patterns[2] = "|=\"\\|i";
    //$replacements[2] = "=\"".$scripturl."/".$server."\\";

    print preg_replace($patterns, $replacements, $data);
    } else {
    print $data;
    }
    ?>[/code:1:212cda1355]

    hiermee kan je via dat script volledig 'remote' surfen.. ga maar eens prutsen(TM)

    dit gebruik je zo:

    server/fget.php/www.google.com/

    maargoed, ga maar prutsen dus :_)
  • wtf! ik had ook 'scriptrequest' bovenaan de topic kunnen zetten. :wink:

    afijn, ik was de 'fgets' pagina van php.net al aan het doorploegen. ik zal jouw scripje ook eens doornemen.

    ik begrijp dus, dat je compleet kan surfen? is wel handig, aangezien het eerste script alleen één bestand pakt. bij een webpagina mis je dan de images bv.

    *ben ff scripje doorlezen*
  • Mjah, dit scriptje verandert in principe alle links en alle plaatjes-urls naar correcte, in dit geval bijvoorbeeld:

    jij surft via scriptje naar www.google.com
    http://jeserver/fget.php/www.google.com/

    daar staat een knop Submit, naar www.google.com/search/blabla (weet ik veel wat precies)
    wordt: http://jeserver/fget.php/www.google.com/search/blabla
    en een plaatje: www.google.com/logo.jpg

    wordt: http://jeserver/fget.php/www.google.com/logo.jpg

    origineel ontworpen voor betaalterminals, mag je zelf bedenken waarom, tis gebruik maken van een bekende weakness in die dingen ;)
  • lolz, ik heb dezelfde intentie…

    nee, grapje. maar het is wel een gaaf scripje. ik ben nog even aan het worstelen (ben niet zo goed in php. het gaat om begrijpen en gegevens invullen: dat lukt mij vaak aardig.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.