Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[PHP] Broncode van site tijdelijk downloaden voor bewerking

Pagina: 1
Acties:
  • 272 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallow,

Ik ben nog maar een 2 tal weekjes bezig met PHP, vindt het een zalige taal!

Maar nu heb ik een idee om een website te maken maar ik heb nog een vraag. :)

Mijn vraag nu:
Ik wil dat de gebruiker een url ingeeft van een webpagina, en dat die dan tijdelijk wordt gedownload naar mijn server.
Dan moet er gezocht worden naar en bepaalde string in de pagina (de pagina bekeken als tekst hé, de HTML-code dus hé). En moet er iets worden gezegt tegen de gebruiker.

Nu, hoe kan ik simpel zoeken in een webpagina (als gewoone html-code, op andere server) en er mee werken als gewone tekst?

Ik heb al fora gevraagd en gegoogled...maar niet echt met resultaten.
Alvast heeel erg bedankt. ;)

  • Mint
  • Registratie: Mei 2005
  • Laatst online: 20:38
Misschien kun je, als je read-rechten hebt op die pagina/directory, werken met fopen, en die dan uitlezen?

Verwijderd

Topicstarter
Tis gewoon zoals bv. Google hé. Ik heb geen FTP rechten fzo...
Dan geef ik google.be in, en derna wordt de broncode tijdelijk opgeslagen en kan ik er automatische bewerkingen mee uitvoeren. ;)

[ Voor 8% gewijzigd door Verwijderd op 04-09-2007 21:58 ]


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Zoiets:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$brontekst = file_get_contents($_GET['url']);

$query = strpos($brontekst, "zoekwoord");
if(!query)
{
  // niet gevonden
}
else
{
  // wel gevonden
}


Of voor regexps heb je preg_match en ereg(i)_match...

We are shaping the future


  • FragFrog
  • Registratie: September 2001
  • Laatst online: 21:07
PHP:
1
$source = file_get_contents('http://url.naar.web/site');


Zie ook de manual voor file_get_contents().

Als je er mee wilt kunnen werken als text kun je't het simpelst in een textbox gooien. Let er dan wel even op dat je htmlentities of addslashes gebruikt, anders wordt je edit box gemold door HTML in de source.

//edit
offtopic:
Tsk, stelletje vlugge apen hier :P


//edit2
Hou er overigens rekening mee dat je nooit de broncode zal kunnen bekijken - enkel de paginabron. Zit nogal een verschil in ;)

[ Voor 16% gewijzigd door FragFrog op 04-09-2007 21:59 ]

[ Site ] [ twitch ] [ jijbuis ]


Verwijderd

Topicstarter
:)
Allemaal al heel hard bedankt hoor.
Ik denk dat ik er wel ga komen nu...(wel nog niet sluiten plz...most ek nog vraagje hebben... ;) ).

Edit:
Jaja, paginabron bedoel ik uiteraard. ;)
Meer heb ik niet nodig.

[ Voor 22% gewijzigd door Verwijderd op 04-09-2007 22:01 ]


  • FragFrog
  • Registratie: September 2001
  • Laatst online: 21:07
Quick 'n dirty: http://fragfrog.nl/nutwork/get_url.php

Bron:
PHP:
1
2
3
4
5
6
7
8
9
10
if($_POST['URL'] && $_POST['URL'] != 'http://')
  $source = file_get_contents($_POST['URL']);

echo "<form method='post' action=''>
        <input type='text' name='URL' value='http://'>
        <input type='submit' name='submit'>
      </form>";

if(isset($source))
  echo "<textarea style='width:800px; height: 600px;'>".htmlentities(nl2br($source))."</textarea>";

[ Site ] [ twitch ] [ jijbuis ]


Verwijderd

Toppunt van security die onderste :Z.

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 21:07
De htmlentities zijn ervoor om je textarea niet te verneuken, niet om te zorgen dat het veilig is om op te slaan of weer te geven - dat is namelijk compleet niet aan de orde hier ;)

[ Site ] [ twitch ] [ jijbuis ]


Verwijderd

Nee hij bedoelt dat je ook bijv. C:\Boot.ini in het tekstvak kan intikken.

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Verwijderd schreef op dinsdag 04 september 2007 @ 22:18:
Nee hij bedoelt dat je ook bijv. C:\Boot.ini in het tekstvak kan intikken.
Hehehehehehe oh ja... ik wist dat ik ook in mijn voorbeeld iets vergat :+

Maarja, het is een voorbeeld, TS moet het zelf verder veilig uitwerken he...

We are shaping the future


  • FragFrog
  • Registratie: September 2001
  • Laatst online: 21:07
Doh :+

* FragFrog neemt nog maar een kopje koffie :+

PHP:
1
2
3
4
5
6
7
8
9
10
if(isset($_POST['URL']) && $_POST['URL'] != 'http://' && eregi('http://', substr($_POST['URL'], 0, 7)))
  $source = file_get_contents($_POST['URL']);

echo "<form method='post' action=''>
        <input type='text' name='URL' value='http://'>
        <input type='submit' name='submit'>
      </form>";

if(isset($source))
  echo "<textarea style='width:800px; height: 600px;'>".htmlentities(nl2br($source))."</textarea>";


Zoiets dan ;)

Zit me eigenlijk af te vragen of er ook een nettere manier is om te controleren of een path lokaal is of niet. gethostbyname wellicht, alhoewel een check op 'http://' volgens mij ook wel zou moeten werken :+ Stream_context_create() is een andere optie, maar weinig zin nu te gaan testen wat voor errors die geeft bij een lokaal path :+

[ Voor 173% gewijzigd door FragFrog op 04-09-2007 22:33 ]

[ Site ] [ twitch ] [ jijbuis ]


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

FragFrog schreef op dinsdag 04 september 2007 @ 22:21:
Doh :+

* FragFrog neemt nog maar een kopje koffie :+

PHP:
1
2
3
4
5
6
7
8
9
10
if(isset($_POST['URL']) && $_POST['URL'] != 'http://' && eregi('http://', substr($_POST['URL'], 0, 7)))
  $source = file_get_contents($_POST['URL']);

echo "<form method='post' action=''>
        <input type='text' name='URL' value='http://'>
        <input type='submit' name='submit'>
      </form>";

if(isset($source))
  echo "<textarea style='width:800px; height: 600px;'>".htmlentities(nl2br($source))."</textarea>";


Zoiets dan ;)

Zit me eigenlijk af te vragen of er ook een nettere manier is om te controleren of een path lokaal is of niet. gethostbyname wellicht, alhoewel een check op 'http://' volgens mij ook wel zou moeten werken :+ Stream_context_create() is een andere optie, maar weinig zin nu te gaan testen wat voor errors die geeft bij een lokaal path :+
men checke of het een lokaal path is (oftewel $file = filename($_GET['url']) plukken), en daar plemp je keihard een harde directory voor?

Stop uploading passwords to Github!


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Alex) schreef op dinsdag 04 september 2007 @ 21:57:
Zoiets:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$brontekst = file_get_contents($_GET['url']);

$query = strpos($brontekst, "zoekwoord");
if(!query)
{
  // niet gevonden
}
else
{
  // wel gevonden
}


Of voor regexps heb je preg_match en ereg(i)_match...
Dit gaat natuurlijk niet werken als de zoekstring vooraan de te doorzoeken string staat...

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • Optix
  • Registratie: Maart 2005
  • Laatst online: 19-11 11:46
PHP:
1
2
if (isset($_POST['URL']) && ! is_file($_POST['URL'])) 
  $source = file_get_contents($_POST['URL']);


Zo, misschien makkelijker :)

.


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
l0c4lh0st schreef op woensdag 05 september 2007 @ 09:18:
[...]

Dit gaat natuurlijk niet werken als de zoekstring vooraan de te doorzoeken string staat...
Klopt, daarom vermeldde ik die regexp-dingen ook los ;)

* Alex) no regexp-held is

We are shaping the future


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 30-11 11:35

Janoz

Moderator Devschuur®

!litemod

Er staat helemaal geen regexp in, dus ik weet niet wat het wel of niet regexp held zijn te maken heeft met die code. Ga maar eens nadenken wat er gebeurt wanneer de searchstring vooraan staat ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Janoz schreef op woensdag 05 september 2007 @ 12:52:
Er staat helemaal geen regexp in, dus ik weet niet wat het wel of niet regexp held zijn te maken heeft met die code. Ga maar eens nadenken wat er gebeurt wanneer de searchstring vooraan staat ;).
Dan retourneert hij 0 natuurlijk wat PHP voor false aanziet... duh :+

Doe jij maar eens een oplossing bedenken dan ;)

We are shaping the future


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 30-11 11:35

Janoz

Moderator Devschuur®

!litemod

Php ziet dat voor false aan en geeft onterecht aan dat de searchstring niet voorkomt.

Oplossing: Geen php gebruiken (of een test met >=0 met ===FALSE )

[ Voor 60% gewijzigd door Janoz op 05-09-2007 13:23 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • robbert
  • Registratie: April 2002
  • Laatst online: 30-11 13:41
test gewoon met === false, lees daarover meer in de php manual.
Ik zie niet echt in wat je hier mee wil bereiken in een topic over php. Dit is imho net zoiets als zeggen "Je moet geen Linux gebruiken" in een topic over een Linux probleem, of je moet "Je moet geen Windows gebruiken" in een topic over een Windows probleem.
of een test met >=0
false >= 0 === true in php

[ Voor 127% gewijzigd door robbert op 05-09-2007 13:09 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 30-11 11:35

Janoz

Moderator Devschuur®

!litemod

Wat ik daarmee wil bereiken is een stukje out of the box thinking. De fout die daarin zit is inherent aan de gebrekkige implementatie in php en het gebruik van mensen hiervan. Een mogelijke oplossing is dan ook geen php gebruiken, maar misschien had ik er beter een smiley achter moeten zetten.

Dit specifieke probleem met strpos is trouwens zo erg dat, nu ik er iets langer over nadenk, ook mijn oplossing inderdaad niet goed is. Het is toch van de zotte dat een methode twee verschillende types terug kan geven voor duidelijk verschillende situaties terwijl die verschillende uitkomsten vervolgens tot hetzelfde worden geevalueert!

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • robbert
  • Registratie: April 2002
  • Laatst online: 30-11 13:41
Janoz schreef op woensdag 05 september 2007 @ 13:22:
Wat ik daarmee wil bereiken is een stukje out of the box thinking. De fout die daarin zit is inherent aan de gebrekkige implementatie in php en het gebruik van mensen hiervan. Een mogelijke oplossing is dan ook geen php gebruiken, maar misschien had ik er beter een smiley achter moeten zetten.

Dit specifieke probleem met strpos is trouwens zo erg dat, nu ik er iets langer over nadenk, ook mijn oplossing inderdaad niet goed is. Het is toch van de zotte dat een methode twee verschillende types terug kan geven voor duidelijk verschillende situaties terwijl die verschillende uitkomsten vervolgens tot hetzelfde worden geevalueert!
Naja, php is nog eenmaal min of meer typeless. Hier zijn volgens mij al 100 discussies over geweest. Je moet daar gewoon rekening mee houden bij het gebruik van een taal.

Bij de beschrijving van de functie strpos staat ook een groot blok met een waarschuwing. Alleen leest kennelijk niemand dat.

Dat het vaak niet al te mooi is ben ik het met je eens, en ik laat mijn eigen functies eigenlijk nooit verschillende types terug geven.

[ Voor 15% gewijzigd door robbert op 05-09-2007 13:34 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 30-11 11:35

Janoz

Moderator Devschuur®

!litemod

Dat er een groot waarschuwingsblok staat geeft alleen maar aan dat de functie tegenintuïtief werkt. Dit heeft niks met loose typing te maken, maar alles met het gebrekkige inzicht van degene die deze functie bedacht heeft. Het is niet voor niks dat een positie zoekfunctie in alle andere talen bij het niet voorkomen van de zoekstring -1 oplevert.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Janoz, als het je zo irriteert en je moet toevallig zelf een keer met php werken, bouw dan je eigen wrapper functie om deze functie heen. Dat de library van PHP gebrekkig is op sommige punten hebben we het al zo vaak over gehad.*

En btw, mijns inziens is PHP juist een van de taaltjes bij uitstek om te "kutten" met strings.

PHP:
1
2
3
4
5
function strpos_janoz($haystack, $needle)
{
  $lal = strpos($haystack, $needle);
  return $lal === false ? -1 : $lal;
}


*overigens kun je nog betwisten dat het returnen van -1 net zo goed verwarrend kan zijn, en dat het returnen van een boolean false gewoon gebruik maken is van het dynamic typing van php. Wanneer noem je iets tegenintuitief, als andere talen je jarenlang een ander paradigma hebben aangesmeerd?

[ Voor 61% gewijzigd door Grijze Vos op 05-09-2007 15:05 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:45

TeeDee

CQB 241

robbert schreef op woensdag 05 september 2007 @ 13:01:
Dit is imho net zoiets als zeggen "Je moet geen Linux gebruiken" in een topic over een Linux probleem, of je moet "Je moet geen Windows gebruiken" in een topic over een Windows probleem.
offtopic:
klein beetje offtopic: ik zie vaak in bijvoorbeeld PNS dat mensen het hebben over: ik wil een webserver bouwen, ik heb windows 2000. Wat moet ik nu doen? Binnen de 10 reacties: "Gebruik linux, is makkelijker, is alles ineen. etc. etc. Blerrrr, blerrrr, blerrr." Zo. Even gerant en ik ga weer gauw verder ;)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Mmmm...
Probje denk...
Ik heb deze code:

PHP:
1
2
3
        $source = file_get_contents('http://www.google.be'); 
        if(isset($source))
            echo "<textarea style='width:800px; height: 600px;'>".htmlentities(nl2br($source))."</textarea>";

  • robbert
  • Registratie: April 2002
  • Laatst online: 30-11 13:41
En wat is het probleem met die code dan :)

Daarnaast zou ik htmlentities en nl2br even omdraaien. Ware het niet dat ik uberhaupt het nut van nl2br niet ziet als je het in een textarea propt.
Grijze Vos schreef op woensdag 05 september 2007 @ 14:16:
*overigens kun je nog betwisten dat het returnen van -1 net zo goed verwarrend kan zijn, en dat het returnen van een boolean false gewoon gebruik maken is van het dynamic typing van php. Wanneer noem je iets tegenintuitief, als andere talen je jarenlang een ander paradigma hebben aangesmeerd?
Volledig mee eens.

[ Voor 67% gewijzigd door robbert op 05-09-2007 15:50 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:45

TeeDee

CQB 241

Wat als nu op positie 0 het keyword gevonden wordt? (Zoals Janoz/Alex) aangeeft) Dan dient dat gewoon 0 te zijn, en niet, door het dynamic type karakter van o.a. PHP, geëvalueerd te worden naar False. Dat is imo gewoon tegenintuitief.

Zoals ik het zie:
-1 : niets gevonden
0: wel iets gevonden

Optioneel zou je nog kunnen denken aan een parameter welke wel een bool teruggeeft in plaats van een int welke de positie aangeeft:
False: niets gevonden
True: wel iets gevonden

Uit de documentatie:
Returns the position as an integer.
Hou het dan ook bij een integer. Nu weet ik inmiddels (ja, ik heb de warning gelezen op php.net) dat PHP dit kan evalueren naar False. En dat vind ik dus een nadeel. In bijvoorbeeld C# kan je een 0 of een 1 prima naar Bool converteren, alleen dien je dat afaik expliciet aan te geven/uit te voeren, en niet als behaviour van je taal. Maar goed. als je er rekening mee houdt dan is de schade nog wel te overzien.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Javascript's indexOf werkt zoals je zou verwachten, hij retourneert alléén een integer. Niets gevonden? -1. Anders 0 of hoger, dat werkt veel beter imho...

We are shaping the future


  • robbert
  • Registratie: April 2002
  • Laatst online: 30-11 13:41
TeeDee schreef op woensdag 05 september 2007 @ 15:53:
[...]

Wat als nu op positie 0 het keyword gevonden wordt? (Zoals Janoz/Alex) aangeeft) Dan dient dat gewoon 0 te zijn, en niet, door het dynamic type karakter van o.a. PHP, geëvalueerd te worden naar False. Dat is imo gewoon tegenintuitief.
Dan geeft die ook gewoon 0 terug. Hij geeft false terug indien het niet gevonden is.
Optioneel zou je nog kunnen denken aan een parameter welke wel een bool teruggeeft in plaats van een int welke de positie aangeeft:
False: niets gevonden
True: wel iets gevonden
Nee, dat is prettig...
Alex) schreef op woensdag 05 september 2007 @ 15:55:
Javascript's indexOf werkt zoals je zou verwachten, hij retourneert alléén een integer. Niets gevonden? -1. Anders 0 of hoger, dat werkt veel beter imho...
Precies wat Grijze Vos zegt, omdat jij het gewent bent vind jij het te verwachten. Dat returnen van false kan net zo goed goed gebruik zijn van dynamic typing in php.

Misschien een idee om hier een nieuw topic over te openen?

[ Voor 55% gewijzigd door robbert op 05-09-2007 16:00 ]


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:45

TeeDee

CQB 241

robbert schreef op woensdag 05 september 2007 @ 15:55:
[...]
Dan geeft die ook gewoon 0 terug. Hij geeft false terug indien het niet gevonden is.
Welke dus geevalueerd kan worden naar False, voorzover ik het e.e.a. allemaal begrepen heb.
Nee, dat is prettig...
Daarom zeg ik ook "Optioneel" in de context van: ik wil alleen even kijken of mijn zoekwoord daarin voorkomt, zoja > doe iets.
Maar dat is inderdaad niet echt handig.
code:
1
2
3
4
if(needle > -1)
{
 //doe iets
}

is wat handiger imo.
Precies wat Grijze Vos zegt, omdat jij het gewent bent vind jij het te verwachten. Dat returnen van false kan net zo goed goed gebruik zijn van dynamic typing in php.
Dat geldt voor jou ook ;)
Misschien een idee om hier een nieuw topic over te openen?
Goed idee.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
robbert schreef op woensdag 05 september 2007 @ 15:40:
[...]

En wat is het probleem met die code dan :)
Krijge deze errors:

Warning: file_get_contents(): URL file-access is disabled in the server configuration in /home/www/tthomas.awardspace.com/netloghack/netloghack.php on line 15

Warning: file_get_contents(http://www.google.be): failed to open stream: no suitable wrapper could be found in /home/www/tthomas.awardspace.com/netloghack/netloghack.php on line 15

Owww...nu zie ik het...
Pfff. Weet iemand nog een plaats waar je gratis hosting kan krijgen met PHP; die dit wel ondersteund? :(

Edit:
Al gevonden.. ;)
Werkt nu wel.

[ Voor 3% gewijzigd door Verwijderd op 05-09-2007 17:49 ]


Verwijderd

Topicstarter
Ok.
Het lukt dus om de string te zoeken in de code.
Ik krijg bv als waarde "12054".
Maar wat betekent dat nu?

En hoe kan ik dan met dat getal bv. uit de volledige code alleen deze regel halen?
Of vanaf daat tot een andere string; alles er tussen in nog een andere string.

Snapje? :) Moeilijk om uit te leggen. :)

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Verwijderd schreef op woensdag 05 september 2007 @ 18:23:
Ok.
Het lukt dus om de string te zoeken in de code.
Ik krijg bv als waarde "12054".
Maar wat betekent dat nu?

En hoe kan ik dan met dat getal bv. uit de volledige code alleen deze regel halen?
Of vanaf daat tot een andere string; alles er tussen in nog een andere string.

Snapje? :) Moeilijk om uit te leggen. :)
Dat het het 12054e karakter is in de string. Verder ontleden doe je met substr.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

Topicstarter
Ok...kga wa verder kloten dan. :)
Tnx. ;)

Verwijderd

Wat overigens niet zo moeilijk is met dat strpos probleem is gewoon een willekeurig character aan het begin van je string plakken en dan de return van strpos -1 doen nadat je hebt gecheckt of hij iets weergeeft. Toch? :$

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Voor dat strpos probleem is maar één goede oplossing:
Janoz schreef op woensdag 05 september 2007 @ 12:55:
Oplossing: Geen php gebruiken (of een test met >=0 met ===FALSE )
PHP:
1
2
3
if (strpos(...) === false) {
  // niet gevonden
}

Let op de derde '='. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • FragFrog
  • Registratie: September 2001
  • Laatst online: 21:07
Optix schreef op woensdag 05 september 2007 @ 12:23:
PHP:
1
2
if (isset($_POST['URL']) && ! is_file($_POST['URL'])) 
  $source = file_get_contents($_POST['URL']);


Zo, misschien makkelijker :)
Nog maar een 'doh' er tegenaan gooien.. Ik had al lopen zoeken op is_remote en is_url maar die bestaan niet, maar je kan natuurlijk net zo handig zoeken op !is_file :)

Overigens kreeg ik net per PM een ander security-issue gemeld: alle lokale websites zijn zo ook te bereiken. In mijn geval is dat een beveiligde router pagina en een modempagina wat dus nagenoeg geen probleem is maar ik kan me voorstellen dat je zoiets dus beter wilt beveiligen als je een lokaal intranet site hebt. Een optie is om gethostbyname te gebruiken en te controleren of het wel een valid extern IP adres betreft :)

[ Site ] [ twitch ] [ jijbuis ]


  • netvor
  • Registratie: September 2000
  • Laatst online: 08-04-2024
Zoals ik FragFrog inderdaad al in een DM vertelde (da'was ik :w ), is zelfs een check op geldige HTTP-URL's niet voldoende. Hij heeft zijn server namelijk thuis achter een kabelmodem draaien (dat is gemakkelijk te achterhalen d.m.v. whois of traceroute of reverse dns). Een standaard Motorola kabelmodem heeft een control panel dat vanaf de LAN zijde te bekijken is via het URL http://192.168.100.1/.

Ik heb dus via FragFrog's scriptje zijn kabelmodeminstellingen kunnen uitlezen via http://192.168.100.1/configdata.html. Op zich kan je daar als hacker niet erg veel mee, maar stel dat dat apparaat instellingen kan wijzigen na het krijgen van een HTTP GET request. Dan kan je dus iets doen als http://192.168.100.1/wijzig?foo=bar&blaat=schaap

Om een lang verhaal nog 18 woorden langer te maken: een LAN achter een NAT router is niet bepaald de afgeschermde omgeving die velen denken dat het is. Zie ook nieuws: JavaScript vormt toenemend veiligheidsrisico.

[ Voor 21% gewijzigd door netvor op 06-09-2007 14:06 ]

Computer Science: describing our world with boxes and arrows.


  • FragFrog
  • Registratie: September 2001
  • Laatst online: 21:07
@netvor: om daar nog iets aan toe te voegen: ik heb een paar weken geleden een online poortscanner geschreven, als je die had gebruikt had je zelfs niet eens hoeven gokken op welk IP mijn routers ed staan.

Ware het niet dat ik toen wel zo snugger was om locale IP adressen onscanbaar te maken :+

[ Site ] [ twitch ] [ jijbuis ]


Verwijderd

Topicstarter
Nu wil ik ook nog een beetje MySQL bijproppen.
Is wss voor jullie simpele vraag, maar als je liever hebt dat ik nieuw toppic voor maak, let me know. ;)

Dus, ik schrijf de inhoud die de gebruiker in de input ingeeft naar een MySQL-database.
Dat lukt goed.
Maar ik wil ook een soort limiet.
Dat er met die pagina maar 30 keer gebruikt kan worden bv...
Dus; ik moet dan ergens bijhouden hoeveel gebruikers er al van de site gebruik hebben gemaakt.

Ik heb dus een database (tthomas_db), met tabel InschijvenTotaal, met daar in 1 kolom (teller).

Nu, ik kan die waarde veranderen met deze query:
UPDATE InschijvenTotaal SET teller = '$x'

Dat gaat ook, maar ik kan de waarde niet uitlezen.
En als ik niet kan uitlezen, kan ik de waarde niet met 1 verhogen.

Hoe doe ik dit nu?
Ik vind het echt nergens...en heb dringend nodig (ik heb aan iemand belooft dat het af zou zijn...).

TNX! (hoop dat het wat duidelijk is. ;) )

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
UPDATE InschijvenTotaal SET teller = teller + 1 WHERE url='blaat'

Zoiets? Moet je alleen wel eerder uitlezen bij je formpje, anders heb je er nog niets aan:

SELECT teller FROM InschijvenTotaal WHERE url='blaat'

[ Voor 12% gewijzigd door Alex) op 06-09-2007 18:07 ]

We are shaping the future


Verwijderd

Topicstarter
Tnx.
Ik kan weer ffe verder denk ik... :)

Verwijderd

Topicstarter
Mmmm...wel, om terug naar de eerste vraag te gaan.
Nu, de broncode appart downloaden, werkte.
Maar nu zou ik men site willen aanpassen...
Ik zou het volgende willen doen:

Men gaat naar mijn site, geeft de URL in van een webpagina waar ze ervoor naartoe zijn gegaan.
En dan, ipv dat ik de pagina-bron nogeens download, wil ik in de tijdelijke bestanden, die pagina-bron halen.

Is dat mogelijk met PHP? Of moet ik er een nieuw toppic voor openen?

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

"de tijdelijke bestanden". Bedoel je de tijdelijke bestanden van Internet Explorer? Dat kan niet vanwegwe het verschil tussen client-side en server-side. Of bedoel je tijdelijke bestanden die je met PHP ergens zelf al hebt neergezet? Zo ja, tuurlijk kan dat. Probeer het gewoon eens te maken zou ik zeggen.

Eigenlijk gaan we er vanuit dat je zelf in eerste instantie al aan de slag bent gegaan. Gezien je vraag "is dit mogelijk" heb je dat nog niet en lijk je er zelf nog nauwelijks over nagedacht te hebben.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Jah, als je naar een webpagina gaat (met FF of IE), wordt de pagina toch (tijdelijk) opgeslagen op je harde schijf, maar waar? Ik weet het niet meer! En met Google kom ik ook niet echt veel verder...:(
Ik weet hoe je bestanden kan uitlezen hoor, dat heb ik al gevonden, maar waar die bestanden staan...

  • robbert
  • Registratie: April 2002
  • Laatst online: 30-11 13:41
Verwijderd schreef op zondag 16 september 2007 @ 12:19:
Jah, als je naar een webpagina gaat (met FF of IE), wordt de pagina toch (tijdelijk) opgeslagen op je harde schijf, maar waar? Ik weet het niet meer! En met Google kom ik ook niet echt veel verder...:(
Ik weet hoe je bestanden kan uitlezen hoor, dat heb ik al gevonden, maar waar die bestanden staan...
Maar wat ben je van plan met de cache van de browser van je gebruiker? Daar mag jij helemaal niks mee doen.

Die van firefox staan overigens hier: ~/.mozilla/firefox/hash.profilename/Cache/ maar in een of ander niet echt handig formaat.

[ Voor 13% gewijzigd door robbert op 16-09-2007 12:25 ]


Verwijderd

Topicstarter
Ow...jah, eigenlijk nogal logisch.
Spijtig. :(
Dus dan zal ik maar iets anders moeten gaan bedenken...:)

Tnx.;)

  • robbert
  • Registratie: April 2002
  • Laatst online: 30-11 13:41
Verwijderd schreef op zondag 16 september 2007 @ 12:31:
Ow...jah, eigenlijk nogal logisch.
Spijtig. :(
Dus dan zal ik maar iets anders moeten gaan bedenken...:)

Tnx.;)
Misschien een idee dat je hier op een duidelijke manier verteld wat precies het probleem is? Want ik kan nog steeds niet echt volgen wat je precies van plan bent.

Verwijderd

Topicstarter
Ik wil bewerkingen maken op de pagina-bron van een website (op het moment dat de gebruiker mijn site opent).
Maar die op die site moet je je inloggen, om alles te kunnen zien.
Snapje? :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

Eeeh.. je wilt dus dat mensen een deel van een site kunnen zien zonder dat ze moeten inloggen? Dat inloggen zit er niet voor niets en zoiets omzeilen wil ik nu niet echt 100% "correct" noemen. Succes verder met uitzoeken maar wij gaan je daar hier niet bij helpen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.