foto openen in iFrame
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
Hallo,
Ik ben bezig mijn website in een nieuw kleedje te steken. Ik wil een grote foto openen in een iFrame, als je op een thumpnail klikt.
De URL waar dit voorlopig staat is http://www.triangulovzw.be/kristri/vzw.php# .
Als je dan op de link ‘wie zijn wij?’ klikt, krijg je 2 kleine foto’s te zien. Door er op een foto te klikken, opent een grotere foto. Nu heb ik die laten openen in een ander venster. Maar eigenlijk wil ik de foto na het aanklikken van de kleine foto openen in een iFrame dat kleiner is dan de pagina van de website, en in het midden van het venster staat, zodat de website nog zichtbaar blijft.
Ik vond wel basisinfo over iFrames op http://www.seniorennet.be/Pages/Compute ... hp?id=1120 en info over openen van een document in een iFrame op http://www.sitemasters.be/tutorials/4/1 ... /Iframes#2
Maar het lukt me niet het script aan te passen om de grote foto in een iFrame te openen.
Wie kan me helpen?
Alvast bedankt!
Kris
[/url]
Ik ben bezig mijn website in een nieuw kleedje te steken. Ik wil een grote foto openen in een iFrame, als je op een thumpnail klikt.
De URL waar dit voorlopig staat is http://www.triangulovzw.be/kristri/vzw.php# .
Als je dan op de link ‘wie zijn wij?’ klikt, krijg je 2 kleine foto’s te zien. Door er op een foto te klikken, opent een grotere foto. Nu heb ik die laten openen in een ander venster. Maar eigenlijk wil ik de foto na het aanklikken van de kleine foto openen in een iFrame dat kleiner is dan de pagina van de website, en in het midden van het venster staat, zodat de website nog zichtbaar blijft.
Ik vond wel basisinfo over iFrames op http://www.seniorennet.be/Pages/Compute ... hp?id=1120 en info over openen van een document in een iFrame op http://www.sitemasters.be/tutorials/4/1 ... /Iframes#2
Maar het lukt me niet het script aan te passen om de grote foto in een iFrame te openen.
Wie kan me helpen?
Alvast bedankt!
Kris
[/url]
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
ultddave - Lid geworden op: 11 mei 2009, 13:59
- Locatie: Limburg > Genk
Van iFrames ken ik niets - omdat dat niet meer gebruikt word in hedendaagse websites normaal gezien. 
EDIT: Coderunner helpt je daarmee verder.
Voor foto's groter weer te geven, gebruik ik persoonlijk meestal lightbox (javascript).
**********
Maar ik heb je loginpagina even getest op veiligheid. En er zit nog een probleem. Bij het ingeven van een verkeerd wachtwoord, wordt het wachtwoord als "value" ingesteld van de <input> tag.
Idem bij de username.
Het is best om dat niet te doen, want dan kan je de website hacken;

Invoerveldje aangepast en 1 invoerveld toegevoegd. En een afbeelding toegevoegd.
En dit is in principe nog maar wat "defacing". Uiterlijk veranderen dus. Ik kan ook javascript toevoegen en laten uitvoeren en dergelijke.
PS: Het is geen dreigement hé
. Eerder een waarschuwing van "wat mogelijk zou kunnen zijn" als er iemand met minder goede bedoeling je website bezoekt.
PS: Het bestand is niet aangepast.
Mvg,
Dave
EDIT: Coderunner helpt je daarmee verder.
Voor foto's groter weer te geven, gebruik ik persoonlijk meestal lightbox (javascript).
**********
Maar ik heb je loginpagina even getest op veiligheid. En er zit nog een probleem. Bij het ingeven van een verkeerd wachtwoord, wordt het wachtwoord als "value" ingesteld van de <input> tag.
Idem bij de username.
Het is best om dat niet te doen, want dan kan je de website hacken;

Invoerveldje aangepast en 1 invoerveld toegevoegd. En een afbeelding toegevoegd.
En dit is in principe nog maar wat "defacing". Uiterlijk veranderen dus. Ik kan ook javascript toevoegen en laten uitvoeren en dergelijke.
PS: Het is geen dreigement hé
PS: Het bestand is niet aangepast.
Mvg,
Dave
Laatst gewijzigd door ultddave op 20 okt 2010, 15:53, 8 keer totaal gewijzigd.
.NET en Java Programmeur
-
coderunner - Lid geworden op: 27 mar 2006, 04:35
- Locatie: Aubauke - Aentwaerepe
Beste kris.qua,
Een iframe (staat voor inline frame) is een frame dat op dezelfde pagina getoond wordt!
In jouw geval staat het iframe onder de kleinere foto's en zullen dus ook daar getoond worden.
Je zal je foto's "avtr2008.jpg"" en rvbtr2010.jpg" dus kleiner moeten maken zodat deze even groot zijn als het iframe (width="xxx" height="yyy")!
Eerst maak je een lege pagina en je noemt die "iframe.html"
Dan vervang je jouw code door onderstaande code
Is je grootste foto bv. 600x400 dan worden deze waarden respectievelijk width="600" en height="400"
Wil je niet dat foto onder de kleinere foto's getoond wordt dan zal je naar een andere manier van tonen moeten zoeken d.m.v. een popup, vergroting bij een mouse-over, enz ...
Enkele voorbeelden vind je hier.
mvg,
Coderunner
Een iframe (staat voor inline frame) is een frame dat op dezelfde pagina getoond wordt!
In jouw geval staat het iframe onder de kleinere foto's en zullen dus ook daar getoond worden.
Je zal je foto's "avtr2008.jpg"" en rvbtr2010.jpg" dus kleiner moeten maken zodat deze even groot zijn als het iframe (width="xxx" height="yyy")!
Eerst maak je een lege pagina en je noemt die "iframe.html"
Dan vervang je jouw code door onderstaande code
In de code van het iframe vervang je xxx en yyy door de width en de height van de grootste foto.<p style="text-align: center;">
<a href="leden/avtr2008.jpg" target="iframe"><img alt="leden_AV" margin-right="20px" padding-right="50px" src="leden/thump/foto3.jpg" border="0"></a>
<a href="leden/rvbtr2010.jpg" target="iframe"><img alt="leden_RvB" margin-right="20px" src="leden/thump/foto1.jpg" border="0"></a>
</p>
<p style="text-align:center;"><iframe name="iframe" src="iframe.html" width="xxx" height="yyy" scrolling="no" frameborder="0">Uw browser ondersteunt geen frames, update jouw browser !!!</iframe></p>
<p>
Is je grootste foto bv. 600x400 dan worden deze waarden respectievelijk width="600" en height="400"
Wil je niet dat foto onder de kleinere foto's getoond wordt dan zal je naar een andere manier van tonen moeten zoeken d.m.v. een popup, vergroting bij een mouse-over, enz ...
Enkele voorbeelden vind je hier.
mvg,
Coderunner
Bedank de perso(o)n(en) die je volledig op vrijwillige basis een antwoord geeft(geven) en/of beantwoord ten minste een reaktie op jouw vraag. Zo weten andere gebruikers EN de moderator dat je "probleem" al dan niet is opgelost. Alvast bedankt.
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
Bedankt alle twee!
Coderunner,
Ik weet nog niet welke oplossing ik zal kiezen. Maar ik laat het weten weten wanneer ik er wat aan veranderd heb.
Dave,
Héééééééééééél erg bedankt voor die waarschuwing! Kunt ge me ook vertellen hoe ik mijn login veiliger kan maken? Als wat moet ik het dan instellen, in plaats van als value? Of is er nog meer onveilig aan?
groetjes,
Kris
Coderunner,
Ik weet nog niet welke oplossing ik zal kiezen. Maar ik laat het weten weten wanneer ik er wat aan veranderd heb.
Dave,
Héééééééééééél erg bedankt voor die waarschuwing! Kunt ge me ook vertellen hoe ik mijn login veiliger kan maken? Als wat moet ik het dan instellen, in plaats van als value? Of is er nog meer onveilig aan?
groetjes,
Kris
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
coderunner - Lid geworden op: 27 mar 2006, 04:35
- Locatie: Aubauke - Aentwaerepe
Beste Kris,kris.gua schreef:Ik weet nog niet welke oplossing ik zal kiezen. Maar ik laat het weten weten wanneer ik er wat aan veranderd heb.
Ik persoonlijk denk ook dat je beter de andere methoden (met javascript of met css) kan gebruiken daar er anders steeds een open ruimte (zijnde het onzichtbaar iframe) staat onder de thumbs wat toch niet mooi oogt.
Bedankt voor je reactie.
mvg,
Coderunner
Bedank de perso(o)n(en) die je volledig op vrijwillige basis een antwoord geeft(geven) en/of beantwoord ten minste een reaktie op jouw vraag. Zo weten andere gebruikers EN de moderator dat je "probleem" al dan niet is opgelost. Alvast bedankt.
-
ultddave - Lid geworden op: 11 mei 2009, 13:59
- Locatie: Limburg > Genk
Beste,
Aangaande het login script. Er zijn bepaalde zaken waar je rekening mee moet houden:
1 - Je hebt het "size" attribuut van de <input> tag ingevuld. De size wordt echter enkel gebruikt om de lengte van het invoerveld te bepalen. Niet de maximum lengte van de inhoud. Als je bijvoorbeeld een invoerveld van lengte 30 wilt, waar je ook maximum een username van 30 karakters kan ingeven, dan doe je:
<input type="text" size="30" maxlength="30" name="gebruikersnaam" />
Bijvoorbeeld.
2 - Bovenstaande methode biedt GEEN zekerheid dat de doorgestuurde gebruikersnaam wel degelijk maximum 30 karakters is. Je zou vermoeden van wel. Omdat het onmogelijk is om 31 karakters te typen in dat invoerveld. Het probleem zit em echter in het feit dat een hacker via omwegen (ik kan het concreet uitleggen indien gewenst) toch bijvoorbeeld een username van 60 karakters doorgeven aan je pagina.
Vandaar dat je in de PHP code de lengte nog eens moet nakijken indien dit belangrijk zou zijn in het script.
3 - Meest belangrijke:
Als je een database gebruikt waar je data gaat instoppen OF je gaat de gebruikersinput terug tonen aan de gebruiker MOET je de string (de tekst dus) escapen.
Bijvoorbeeld:
$gebruikersnaam = addslashes($_POST['gebruikersnaam']);
Addslashes gaat dan een backslash voor single of double quotes (=aanhalingstekens) plaatsen.
Indien je gebruikt maakt van een MySQL database, kan je een betere functie gebruiken. Maar zonder database kan je bijvoorbeeld de addslashes functie gebruiken.
******************
Puntje 3 zorgt voor het probleem in dit geval. Want als ik een aanhalingsteken gebruik, dan kan ik de value=" vroegtijdig afsluiten en zelf HTML code toevoegen.
Om dat te vermijden, moet je ofwel de strings escapen via de methode uitgelegd bij puntje 3. Ofwel bij het ingeven van een verkeerd wachtwoord/gebruikersnaam, de 2 velden leeg laten. Zodat de gebruiker alles opnieuw moet ingeven (Dat is het nadeel). Maar dat is wel veiliger.
PS: De zoekfunctie van de site is wel veilig.
PS: Je moet dus addslashes() uitvoeren op een tekst als je die wilt uitschrijven met PHP.
Mvg,
Dave
Aangaande het login script. Er zijn bepaalde zaken waar je rekening mee moet houden:
1 - Je hebt het "size" attribuut van de <input> tag ingevuld. De size wordt echter enkel gebruikt om de lengte van het invoerveld te bepalen. Niet de maximum lengte van de inhoud. Als je bijvoorbeeld een invoerveld van lengte 30 wilt, waar je ook maximum een username van 30 karakters kan ingeven, dan doe je:
<input type="text" size="30" maxlength="30" name="gebruikersnaam" />
Bijvoorbeeld.
2 - Bovenstaande methode biedt GEEN zekerheid dat de doorgestuurde gebruikersnaam wel degelijk maximum 30 karakters is. Je zou vermoeden van wel. Omdat het onmogelijk is om 31 karakters te typen in dat invoerveld. Het probleem zit em echter in het feit dat een hacker via omwegen (ik kan het concreet uitleggen indien gewenst) toch bijvoorbeeld een username van 60 karakters doorgeven aan je pagina.
Vandaar dat je in de PHP code de lengte nog eens moet nakijken indien dit belangrijk zou zijn in het script.
3 - Meest belangrijke:
Als je een database gebruikt waar je data gaat instoppen OF je gaat de gebruikersinput terug tonen aan de gebruiker MOET je de string (de tekst dus) escapen.
Bijvoorbeeld:
$gebruikersnaam = addslashes($_POST['gebruikersnaam']);
Addslashes gaat dan een backslash voor single of double quotes (=aanhalingstekens) plaatsen.
Indien je gebruikt maakt van een MySQL database, kan je een betere functie gebruiken. Maar zonder database kan je bijvoorbeeld de addslashes functie gebruiken.
******************
Puntje 3 zorgt voor het probleem in dit geval. Want als ik een aanhalingsteken gebruik, dan kan ik de value=" vroegtijdig afsluiten en zelf HTML code toevoegen.
Om dat te vermijden, moet je ofwel de strings escapen via de methode uitgelegd bij puntje 3. Ofwel bij het ingeven van een verkeerd wachtwoord/gebruikersnaam, de 2 velden leeg laten. Zodat de gebruiker alles opnieuw moet ingeven (Dat is het nadeel). Maar dat is wel veiliger.
PS: De zoekfunctie van de site is wel veilig.
PS: Je moet dus addslashes() uitvoeren op een tekst als je die wilt uitschrijven met PHP.
Mvg,
Dave
.NET en Java Programmeur
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
Weer allebei bedankt voor de heel snelle reactie!
Ik had intussen ook al beslist voor de foto te werken met javascript of css. Ik zal alle mogelijkheden eens bestuderen en dan een keuze maken.
Wat de login betreft, ik zal heel de uitleg eens heel goed bestuderen en dan mijn script aanpassen (javascript en zo gaat nog heel moeizaam bij mij).
Ik werk wel met MySQL, dus als ik het goed begrepen heb, is er dan nog een betere oplossing?
groetjes,
Kris
Ik had intussen ook al beslist voor de foto te werken met javascript of css. Ik zal alle mogelijkheden eens bestuderen en dan een keuze maken.
Wat de login betreft, ik zal heel de uitleg eens heel goed bestuderen en dan mijn script aanpassen (javascript en zo gaat nog heel moeizaam bij mij).
Ik werk wel met MySQL, dus als ik het goed begrepen heb, is er dan nog een betere oplossing?
groetjes,
Kris
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
ultddave - Lid geworden op: 11 mei 2009, 13:59
- Locatie: Limburg > Genk
Beste,
Inderdaad. Deze functie; http://php.net/manual/en/function.mysql ... string.php
Werkwijze is net zoals addslashes:
$gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']);
Let op: Je moet een database connectie hebben gemaakt, op het moment je die functie uitvoert. In dat login script zal je ergens connectie maken met de database, en dan een query uitvoeren. De code die mysql_real_escape_string gebruikt, moet dus ergens na het maken van die connectie staan.
(En uiteraard voor het sluiten van connectie
)
Op die manier voorzie je dus ook SQL injection (waarbij iemand je database hacked tgv het 'niet escapen' van strings
.
PS: Die addslashes en mysql_real_escape_string is PHP code. Best geen javascript gebruiken als "beveiliging", aangezien dat te omzeilen valt.
Indien nodig wil ik wel eens kijken naar de PHP code als je het niet geimplementeerd krijgt.
Mvg,
Dave
Inderdaad. Deze functie; http://php.net/manual/en/function.mysql ... string.php
Werkwijze is net zoals addslashes:
$gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']);
Let op: Je moet een database connectie hebben gemaakt, op het moment je die functie uitvoert. In dat login script zal je ergens connectie maken met de database, en dan een query uitvoeren. De code die mysql_real_escape_string gebruikt, moet dus ergens na het maken van die connectie staan.
(En uiteraard voor het sluiten van connectie
Op die manier voorzie je dus ook SQL injection (waarbij iemand je database hacked tgv het 'niet escapen' van strings
PS: Die addslashes en mysql_real_escape_string is PHP code. Best geen javascript gebruiken als "beveiliging", aangezien dat te omzeilen valt.
Indien nodig wil ik wel eens kijken naar de PHP code als je het niet geimplementeerd krijgt.
Mvg,
Dave
.NET en Java Programmeur
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
dag Dave,
Ik werk eraan en laat iets weten. (Wel wat geduld, aub)
groetjes,
Kris
Ik werk eraan en laat iets weten. (Wel wat geduld, aub)
groetjes,
Kris
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
Dag Dave,
Ik heb me maar eerst met de veiligheid bezig gehouden. Als ik uw uitleg goed begrepen heb, kon ik kiezen tussen die speciale functie, vergelijkbaar met addslashes, ofwel de vakjes leeglaten. Vermits dat de veiligste methode is, heb ik daarvoor gekozen.
De lengte is niet zo belangrijk, er is maar een beperkt aantal mensen dat zal inloggen. Dus daar heb ik niets aan veranderd. Of is dat toch nodig voor de veiligheid?
Is het mogelijk nog eens na te zien of mijn login nu veilig is?
Alvast bedankt,
Kris
Coderunner,
Als ik mijn foto's aangepast heb, laat ik het ook weten, natuurlijk. Maar misschien ook nog wat geduld, aub.
Groetjes,
Kris
Ik heb me maar eerst met de veiligheid bezig gehouden. Als ik uw uitleg goed begrepen heb, kon ik kiezen tussen die speciale functie, vergelijkbaar met addslashes, ofwel de vakjes leeglaten. Vermits dat de veiligste methode is, heb ik daarvoor gekozen.
De lengte is niet zo belangrijk, er is maar een beperkt aantal mensen dat zal inloggen. Dus daar heb ik niets aan veranderd. Of is dat toch nodig voor de veiligheid?
Is het mogelijk nog eens na te zien of mijn login nu veilig is?
Alvast bedankt,
Kris
Coderunner,
Als ik mijn foto's aangepast heb, laat ik het ook weten, natuurlijk. Maar misschien ook nog wat geduld, aub.
Groetjes,
Kris
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
ultddave - Lid geworden op: 11 mei 2009, 13:59
- Locatie: Limburg > Genk
Beste,
Is inderdaad goed zo.
Ik zou de maxlength instellen vanwege het volgende scenario;
Zonder een beperking kan iedereen dus usernames en wachtwoorden van (zo goed als) onbeperkte lengte ingeven. Als meerdere mensen dat tegelijkertijd doen, (Een soort DDOS aanval dus - heb je misschien al van gehoord.) moet je server dus enorme hoeveelheden gegevens verwerken, en zoals je weet is een server in principe ook gewoon een PC. Dus die zijn RAM geheugen zal uiteindelijk vollopen en de server zal uiteindelijk crashen.
Langs de andere kant bieden sommige hostings wel zo een soort DDOS beveiliging. Maar in hoevere dat zoiets feilloos weet ik niet
.
In principe kan je de lengte op 100 zetten. 100 is al enorm veel voor een username of wachtwoord. Maar dan heb je tenminste een 'limiet'.
En als je geen limieten gebruikt heb je volgens mij ook kans op "Buffer Overflow Attacks" in PHP.
Mvg,
Dave
Is inderdaad goed zo.
Ik zou de maxlength instellen vanwege het volgende scenario;
Zonder een beperking kan iedereen dus usernames en wachtwoorden van (zo goed als) onbeperkte lengte ingeven. Als meerdere mensen dat tegelijkertijd doen, (Een soort DDOS aanval dus - heb je misschien al van gehoord.) moet je server dus enorme hoeveelheden gegevens verwerken, en zoals je weet is een server in principe ook gewoon een PC. Dus die zijn RAM geheugen zal uiteindelijk vollopen en de server zal uiteindelijk crashen.
Langs de andere kant bieden sommige hostings wel zo een soort DDOS beveiliging. Maar in hoevere dat zoiets feilloos weet ik niet
In principe kan je de lengte op 100 zetten. 100 is al enorm veel voor een username of wachtwoord. Maar dan heb je tenminste een 'limiet'.
En als je geen limieten gebruikt heb je volgens mij ook kans op "Buffer Overflow Attacks" in PHP.
Mvg,
Dave
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
Hallo Dave en Coderunner,
Ik heb de max-lenght op 100 ingesteld, en voor de foto's heb ik vb 1 genomen. Ik heb het al gebruikt op tabblad vzw, link 'wie zijn wi'j.
Heel erg bedankt, allebei.
Dave,
Wat een DDos aanval is, wist ik niet. Maar ik heb de uitleg van wikipedia gelezen, en denk dat ik het wel ongeveer snap. blij dat ge me van dat risico bespaard hebt.
In uw eerste antwoord stond "2 - Bovenstaande methode biedt GEEN zekerheid dat de doorgestuurde gebruikersnaam wel degelijk maximum 30 karakters is. Je zou vermoeden van wel. Omdat het onmogelijk is om 31 karakters te typen in dat invoerveld. Het probleem zit em echter in het feit dat een hacker via omwegen (ik kan het concreet uitleggen indien gewenst) toch bijvoorbeeld een username van 60 karakters doorgeven aan je pagina.
Vandaar dat je in de PHP code de lengte nog eens moet nakijken indien dit belangrijk zou zijn in het script. "
Ik ben zeker niet van plan om te gaan hacken (zou ik ook niet kunnen), maar ik zou die uitleg wel graag krijgen. Het intrigeert me, en dikwijls snap ik iets meer van basisscripts, door een uitleg die er maar heel van in de verte mee te maken heeft. Dus als ge he ziet zitten: toch graag die uitleg.
groetjes,
Kris
[/i]
Ik heb de max-lenght op 100 ingesteld, en voor de foto's heb ik vb 1 genomen. Ik heb het al gebruikt op tabblad vzw, link 'wie zijn wi'j.
Heel erg bedankt, allebei.
Dave,
Wat een DDos aanval is, wist ik niet. Maar ik heb de uitleg van wikipedia gelezen, en denk dat ik het wel ongeveer snap. blij dat ge me van dat risico bespaard hebt.
In uw eerste antwoord stond "2 - Bovenstaande methode biedt GEEN zekerheid dat de doorgestuurde gebruikersnaam wel degelijk maximum 30 karakters is. Je zou vermoeden van wel. Omdat het onmogelijk is om 31 karakters te typen in dat invoerveld. Het probleem zit em echter in het feit dat een hacker via omwegen (ik kan het concreet uitleggen indien gewenst) toch bijvoorbeeld een username van 60 karakters doorgeven aan je pagina.
Vandaar dat je in de PHP code de lengte nog eens moet nakijken indien dit belangrijk zou zijn in het script. "
Ik ben zeker niet van plan om te gaan hacken (zou ik ook niet kunnen), maar ik zou die uitleg wel graag krijgen. Het intrigeert me, en dikwijls snap ik iets meer van basisscripts, door een uitleg die er maar heel van in de verte mee te maken heeft. Dus als ge he ziet zitten: toch graag die uitleg.
groetjes,
Kris
[/i]
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
ultddave - Lid geworden op: 11 mei 2009, 13:59
- Locatie: Limburg > Genk
Beste,
Een DDOS aanval kan je spijtig genoeg niet volledig vermijden. Een DDOS aanval kan nogaltijd je server laten crashen als hackers bijvoorbeeld met 5000 PC's tegelijkertijd pagina's van je website beginnen op te vragen.
De server krijgt dat niet verwerkt en gaat dan crashen.
Maar daar moet je niet mee inzitten. Hackers moeten daarvoor eerst virussen verspreiden zodat ze heel veel PC's besmetten. Die besmette PC's kan de hacker dan gebruiken om een DDOS aanval te doen. Het zijn dus vooral PC's van de normale internetgebruikers die DDOS aanvallen uitvoeren op commando van de hacker.
De hacker gaat dan vanop afstand die virussen activeren, en die PC's zullen dan een bepaalde site aanvallen.
Een tijdje geleden heeft BREIN toch een rechtzaak aangespannen om de site thepiratebay.org onbereikbaar te maken in Nederland. Die rechtzaak was in slechte aarde gevallen bij mensen die graag illegaal downloaden. Sommige daarvan hebben daarom de 3 sites van brein offline gehaald met DDOS aanvallen.
**************

Een browser bevat onder andere een parser. Een parser is een script dat code (HTML in dit geval) of een gestructureerde tekst analyseert. En in dit geval wordt die omgezet naar een visuele voorstelling ervan. De webpagina dus.
Dus bijvoorbeeld:
<input type="text" size="30" maxlength="100" />
Wordt door de browser geinterpreteerd. En de browser zal dan een invoerveld aanmaken van lengte 30 waar je maximum 100 karakters kan ingeveren.
Je zal nu ook wel inzien dat als een browser een slechte HTML parser heeft, die bijvoorbeeld het attribuut "maxlength" niet ondersteund, die browser ook geen beperking zal opleggen qua maximum lengte.
Als hacker ga je uiteraard niet opzoek naar een "slechte browser". Want ook die browsers worden vroeg of laat ook verbeterd.
Je gaat dan je eigen browser maken. (Is makkelijker als je denkt)
Ik heb bijvoorbeeld een deel van een browser gemaakt;
http://img43.imageshack.us/img43/3222/telnethtml.png
Dat deel vraagt webpagina's op.
Het stuk tekst tussen de 2 rode lijnen is de headerinformatie van de pagina & server. De tekst onder de laatste rode lijn, is de webpagina zelf (HTML, CSS, Javascript, ... - PHP code niet.).
Ik kan nu zelf kiezen wat ik ga doen met die informatie.
Nu zal je waarschijnlijk inzien, dat ik bij mijn eigen browser simpelweg kan beslissen wat ik ondersteun en wat niet. Ik weet niet of ik het je al gezegd heb - maar javascript beveiliging is de slechte die er is. Je ziet dat soms op webpagina's, dat mensen die invoervelden beveiligen met javascript. Maar dat is uiteraard waardeloos tegen een hacker.
Waarom is dat waardeloos? Met een eigen browser kan je gewoon beslissen om alle javascript code te verwijderen of te negeren.
Gaat de hacker zich iets aantrekken van het attribuut maxlength? Uiteraard niet. Hij gaat gewoon 300 karakters ipv 100 karakters sturen naar de server. En de server aanvaard dat gewoon. Het is de PHP code (of andere code die enkel op de server uitgevoerd wordt) die dat probleem kan onderscheppen.
(En in principe kan je ook werken via de "telnet client" van Windows om webpagina's op te vragen en dergelijke. Dus je eigen browser maken, hoeft eigenlijk al niet.)
Mvg,
Dave
Een DDOS aanval kan je spijtig genoeg niet volledig vermijden. Een DDOS aanval kan nogaltijd je server laten crashen als hackers bijvoorbeeld met 5000 PC's tegelijkertijd pagina's van je website beginnen op te vragen.
De server krijgt dat niet verwerkt en gaat dan crashen.
Maar daar moet je niet mee inzitten. Hackers moeten daarvoor eerst virussen verspreiden zodat ze heel veel PC's besmetten. Die besmette PC's kan de hacker dan gebruiken om een DDOS aanval te doen. Het zijn dus vooral PC's van de normale internetgebruikers die DDOS aanvallen uitvoeren op commando van de hacker.
De hacker gaat dan vanop afstand die virussen activeren, en die PC's zullen dan een bepaalde site aanvallen.
Een tijdje geleden heeft BREIN toch een rechtzaak aangespannen om de site thepiratebay.org onbereikbaar te maken in Nederland. Die rechtzaak was in slechte aarde gevallen bij mensen die graag illegaal downloaden. Sommige daarvan hebben daarom de 3 sites van brein offline gehaald met DDOS aanvallen.
**************
Geen probleem.Ik ben zeker niet van plan om te gaan hacken (zou ik ook niet kunnen), maar ik zou die uitleg wel graag krijgen. Het intrigeert me, en dikwijls snap ik iets meer van basisscripts, door een uitleg die er maar heel van in de verte mee te maken heeft. Dus als ge he ziet zitten: toch graag die uitleg.
Een browser bevat onder andere een parser. Een parser is een script dat code (HTML in dit geval) of een gestructureerde tekst analyseert. En in dit geval wordt die omgezet naar een visuele voorstelling ervan. De webpagina dus.
Dus bijvoorbeeld:
<input type="text" size="30" maxlength="100" />
Wordt door de browser geinterpreteerd. En de browser zal dan een invoerveld aanmaken van lengte 30 waar je maximum 100 karakters kan ingeveren.
Je zal nu ook wel inzien dat als een browser een slechte HTML parser heeft, die bijvoorbeeld het attribuut "maxlength" niet ondersteund, die browser ook geen beperking zal opleggen qua maximum lengte.
Als hacker ga je uiteraard niet opzoek naar een "slechte browser". Want ook die browsers worden vroeg of laat ook verbeterd.
Je gaat dan je eigen browser maken. (Is makkelijker als je denkt)
Ik heb bijvoorbeeld een deel van een browser gemaakt;
http://img43.imageshack.us/img43/3222/telnethtml.png
Dat deel vraagt webpagina's op.
Het stuk tekst tussen de 2 rode lijnen is de headerinformatie van de pagina & server. De tekst onder de laatste rode lijn, is de webpagina zelf (HTML, CSS, Javascript, ... - PHP code niet.).
Ik kan nu zelf kiezen wat ik ga doen met die informatie.
Nu zal je waarschijnlijk inzien, dat ik bij mijn eigen browser simpelweg kan beslissen wat ik ondersteun en wat niet. Ik weet niet of ik het je al gezegd heb - maar javascript beveiliging is de slechte die er is. Je ziet dat soms op webpagina's, dat mensen die invoervelden beveiligen met javascript. Maar dat is uiteraard waardeloos tegen een hacker.
Waarom is dat waardeloos? Met een eigen browser kan je gewoon beslissen om alle javascript code te verwijderen of te negeren.
Gaat de hacker zich iets aantrekken van het attribuut maxlength? Uiteraard niet. Hij gaat gewoon 300 karakters ipv 100 karakters sturen naar de server. En de server aanvaard dat gewoon. Het is de PHP code (of andere code die enkel op de server uitgevoerd wordt) die dat probleem kan onderscheppen.
(En in principe kan je ook werken via de "telnet client" van Windows om webpagina's op te vragen en dergelijke. Dus je eigen browser maken, hoeft eigenlijk al niet.)
Mvg,
Dave
-
kris.gua - Lid geworden op: 14 apr 2006, 10:43
- Locatie: Brasschaat
Bedankt voor de uitvoerige uitleg!
groetjes,
Kris

groetjes,
Kris
Apparaatnaam LAPTOP-QEDVFNJO
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
Processor Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
Geïnstalleerd RAM-geheugen 16,0 GB (15,8 GB beschikbaar)
Type systeem 64-bits besturingssysteem, x64-processor
-
coderunner - Lid geworden op: 27 mar 2006, 04:35
- Locatie: Aubauke - Aentwaerepe
Beste Kris,kris.gua schreef:en voor de foto's heb ik vb 1 genomen. Ik heb het al gebruikt op tabblad vzw, link 'wie zijn wi'j.
Dat ziet er goed uit hé.
Bedankt om me op de hoogte te houden van je vorderingen.
mvg,
Coderunner
Bedank de perso(o)n(en) die je volledig op vrijwillige basis een antwoord geeft(geven) en/of beantwoord ten minste een reaktie op jouw vraag. Zo weten andere gebruikers EN de moderator dat je "probleem" al dan niet is opgelost. Alvast bedankt.