Ik zei dan ook minstens. Het gaat hier ook om 2 nummers, niet om 1 nummer 

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.
Ik vind het dan toch netter om dat getal ook in een alt-tekst te zetten. Dan kunnen blinden de captcha ook goed gebruiken.rwb schreef op vrijdag 24 oktober 2008 @ 16:12:
De vraag is of de captcha visueel ook 96334 bevatte of dat het alleen een identifier was voor de server om te herleiden over welke captcha het gaat. Als dat het geval is dan zou het geen probleem zijn ( Mits ze niet hergebruikt worden)
En spambots ook. Handig hè. Er zijn voor diverse webtalen libraries beschikbaar die tekst naar gesproken tekst in bijv. MP3 formaat kunnen omzetten. Dat is een betere optie.ucchan schreef op vrijdag 24 oktober 2008 @ 20:35:
[...]
Ik vind het dan toch netter om dat getal ook in een alt-tekst te zetten. Dan kunnen blinden de captcha ook goed gebruiken.
[Website en online portfolio] [Return: realtime retrospective tool] [PokerTime planning poker]
Totdat je internationaal wilt gaan... Of je te maken hebt met mensen die al het geluid uitzetten behalve hun screenreader om geen last te hebben van flash-reclames etc... Of als je niet ongelimiteerde bandbreedte hebt...Sebazzz schreef op vrijdag 24 oktober 2008 @ 20:46:
[...]
En spambots ook. Handig hè. Er zijn voor diverse webtalen libraries beschikbaar die tekst naar gesproken tekst in bijv. MP3 formaat kunnen omzetten. Dat is een betere optie.
Maar het idee van een captcha is natuurlijk juist dat niet makkelijk door een machine gelezen kan worden zodat spambots niet automatisch dingen kunnen doen. Het leesbaar maken voor een screenreader maakt dat hele concept onbruikbaar.Gomez12 schreef op vrijdag 24 oktober 2008 @ 21:28:
[...]
Totdat je internationaal wilt gaan... Of je te maken hebt met mensen die al het geluid uitzetten behalve hun screenreader om geen last te hebben van flash-reclames etc... Of als je niet ongelimiteerde bandbreedte hebt...
IMHO zijn screenreaders echt the way to go for blinden, dat is een eenduidige stem etc speciaal gemaakt voor blinden / slechtzienden. Denk aub niet dat je met een mp3'jes als webdesigner iets oplost, volgens mij maak je het alleen maar ontoegankelijker hoe goed je bedoelingen ook zijn.
Alt-tekst is bedoeld als redelijk universeel alternatief. Gebruik dit dan ook gewoon en ondervang de spambots op andere manieren dan een geaccepteerde werkwijze te slopen...
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!
Anoniem: 178962
Ten eerste: nee, het gaat wel degelijk om één getal. Het eerste getal is willekeurig, het tweede getal moet hetzelfde zijn. Vergelijk het met het gooien van twee dobbelstenen: de kans dat je twee dezelfde cijfers gooit is 1/6, niet 1/36. De kans dat je twee keer 6 gooit is wél 1/36 (maar de kans dat je twee dezelfde cijfers gooit is (de kans dat je twee keer 1 gooit) + (de kans dat je twee keer 2 gooit) + ... + (de kans dat je twee keer 6 gooit) = 6*(de kans dat je twee keer 1 gooit)=1/6BalusC schreef op vrijdag 24 oktober 2008 @ 20:04:
Ik zei dan ook minstens. Het gaat hier ook om 2 nummers, niet om 1 nummer
Reken er maar op dat er een hoop mensen zijn die dat te moeilijk vinden.pietje63 schreef op zaterdag 25 oktober 2008 @ 16:46:
alt="bereken 12+96334-12" (of is deze te moeilijk voor mensen?)
Hoyle's gaat over evolutie theorie en dat argument, niet over algemene kansrekening. Het zou eerder een Prosecutors fallacy zijn.ValHallASW schreef op zaterdag 25 oktober 2008 @ 17:05:
Verder: Hoyle's fallacy. Dat de kans klein is dat het gebeurt betekent nog niet dat het daarom geen toeval is!
[Voor 19% gewijzigd door Zoijar op 25-10-2008 17:39]
.oisyn suggereerde dus dat dit niet het geval isValHallASW schreef op zaterdag 25 oktober 2008 @ 17:05:
het tweede getal moet hetzelfde zijn
Demotivational Speaker
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| /** * Vergelijk 2 objecten met elkaar * * @param a * @param b * @param found * @return true als gelijk. */ @SuppressWarnings("unchecked") private boolean vergelijk(Object a, Object b, boolean found) { if (found) { if (a != null && b != null) { if (a instanceof Integer) { if (((Long) a).intValue() == ((Long) b).intValue()) { return true; } } if (a instanceof String) { if (((String) a).equals(b)) { return true; } } if (a instanceof Double) { if (((Double) a).doubleValue() == ((Double) b).doubleValue()) { return true; } } if (a instanceof Set) { if (((Set) a).size() == ((Set) b).size()) { return true; } } } else if (a == null && b != null && b instanceof Set) { if (((Set) b).size() == 0) { return true; } } return a == null && b == null; } return found; } |
1
2
3
4
| found = false; for(Object o : someCollection) { found = vergelijk(o,subject,found); } |
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Sv3n schreef op woensdag 29 oktober 2008 @ 09:56:
Kwam dit net tegen:
Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 /** * Vergelijk 2 objecten met elkaar * * @param a * @param b * @param found * @return true als gelijk. */ @SuppressWarnings("unchecked") private boolean vergelijk(Object a, Object b, boolean found) { if (found) { if (a != null && b != null) { if (a instanceof Integer) { if (((Long) a).intValue() == ((Long) b).intValue()) { return true; } } if (a instanceof String) { if (((String) a).equals(b)) { return true; } } if (a instanceof Double) { if (((Double) a).doubleValue() == ((Double) b).doubleValue()) { return true; } } if (a instanceof Set) { if (((Set) a).size() == ((Set) b).size()) { return true; } } } else if (a == null && b != null && b instanceof Set) { if (((Set) b).size() == 0) { return true; } } return a == null && b == null; } return found; }
Niet eens nodig. Alle gebruikte objecten implementeren gewoon equals. Het enige verschil is de manier waarop met sets omgegaan wordt. Daarbij wordt alleen gekeken of beide evenveel elementen bevatten en staat een lege set gelijk aan een null (onafhankelijk van het type van het null object)Webgnome schreef op woensdag 29 oktober 2008 @ 10:33:
Comparable interface??
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
1
2
3
4
5
6
7
8
9
10
11
12
13
| /** * Checks for a space * */ private function has_space($text) { if( ereg(" ",$text) ) { return true; } return false; } // end func has_space |
Anoniem: 140111
Behalve twee returns, wat je slordig kunt vinden, wat is hier fout aan?Maghiel schreef op woensdag 29 oktober 2008 @ 15:58:
Ik kom net dit tegen in een oud stukje code van een ex-stagair:
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 /** * Checks for a space * */ private function has_space($text) { if( ereg(" ",$text) ) { return true; } return false; } // end func has_space
Denk dat hij bedoeld datAnoniem: 140111 schreef op woensdag 29 oktober 2008 @ 16:07:
[...]
Behalve twee returns, wat je slordig kunt vinden, wat is hier fout aan?
(ik ken de php api niet echt)
1
|
Of het feit dat er een regular expression engine opgestart word om te kijken of er een spatie voorkomt in een string.Anoniem: 58827 schreef op woensdag 29 oktober 2008 @ 16:12:
[...]
Denk dat hij bedoeld dat
Gewoon ook werkt.
Er is niets mis met die twee returns, maar wat is het verschil tussen dit doen:Anoniem: 140111 schreef op woensdag 29 oktober 2008 @ 16:07:
[...]
Behalve twee returns, wat je slordig kunt vinden, wat is hier fout aan?
(ik ken de php api niet echt)
1
|
1
|
1
|
iddAnoniem: 58827 schreef op woensdag 29 oktober 2008 @ 16:12:
[...]
Denk dat hij bedoeld dat
code:
1
Gewoon ook werkt.
en dat ook iddOf het feit dat er een regular expression engine opgestart word om te kijken of er een spatie voorkomt in een string.
[Voor 8% gewijzigd door Maghiel op 29-10-2008 16:19]
1
2
3
4
| private function has_space($text) { return ereg(" ",$text); } |
[Voor 37% gewijzigd door !null op 29-10-2008 16:24]
Ampera-e (60kWh)
Demotivational Speaker
Het verschil is dat bij de tweede variant veel duidelijker is wat het doet, plus dat het gemakkelijker aan te passen is als je de regex wilt veranderen, om bijv. ook naar andere whitespaces te zoeken.Maghiel schreef op woensdag 29 oktober 2008 @ 16:19:
[...]
Er is niets mis met die twee returns, maar wat is het verschil tussen dit doen:
PHP:
1 2 3 4 if (ereg(" ",$text)) { //uit te voeren code }
en
PHP:
1 2 3 4 if (has_space($text)) { // uit te voeren code }
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Demotivational Speaker
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Ik ben ook de enige die deze ClassCastException waiting to happen heeft gezien?Sv3n schreef op woensdag 29 oktober 2008 @ 09:56:
Java:
1 2 3 if (a instanceof Integer) { if (((Long) a).intValue() == ((Long) b).intValue())
Inderdaad. Een strpos lijkt me een stukje handiger / efficienter in dit geval, als je toch een aparte functie wilt hebben.PrisonerOfPain schreef op woensdag 29 oktober 2008 @ 16:18
Of het feit dat er een regular expression engine opgestart word om te kijken of er een spatie voorkomt in een string.
More than meets the eye
There is no I in TEAM... but there is ME
Vroeger IceManX | system specs
Ik denk dat hij dat bedoeltAnoniem: 58827 schreef op woensdag 29 oktober 2008 @ 16:12:
Denk dat hij bedoeld dat [code=]<?php
Ok, das waar en dat geldt ook voor de betere vervangings functies die hier gesuggereerd worden. Wat zou jij dan doen? '== true' ?.oisyn schreef op woensdag 29 oktober 2008 @ 17:10:
Klopt, maar dat gaat hier niet op, want eregi() returnt niet of er een match is maar hoeveel van de string gematcht is. Je zou 'm natuurlijk kunnen casten naar bool.
Ampera-e (60kWh)
[Voor 11% gewijzigd door chocoschijtje op 29-10-2008 22:30]
Demotivational Speaker
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Die komt natuurlijk niet voor, er staat '@SuppressWarnings("unchecked")' boven de functie, die dat mogelijke probleem gewoon oplost.IceManX schreef op woensdag 29 oktober 2008 @ 20:51:
Ik ben ook de enige die deze ClassCastException waiting to happen heeft gezien?
Misschien werkt ctype_graph welchocoschijtje schreef op woensdag 29 oktober 2008 @ 22:18:
die hele functie is niet nodig, want php heeft gewoon ctype_space
shit je hebt gelijk
Ik weet alles van niks
Vind Excel ongelovelijk irritant.
En voor de mensen die niet zo onderlegd zijn in Java en classes, wat kan er dan fout gaan of een exception geven?IceManX schreef op woensdag 29 oktober 2008 @ 20:51:
Ik ben ook de enige die deze ClassCastException waiting to happen heeft gezien?
Eerst controleer je om te kijken of het van het type Integer is, maar daarna probeer je het te casten naar een Long.Quincy5 schreef op donderdag 30 oktober 2008 @ 13:31:
[...]
En voor de mensen die niet zo onderlegd zijn in Java en classes, wat kan er dan fout gaan of een exception geven?
[Voor 10% gewijzigd door Janoz op 30-10-2008 13:36]
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Demotivational Speaker
[Voor 13% gewijzigd door .oisyn op 30-10-2008 13:36]
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Opzich hoeft dat toch niet slecht te zijn? Stel je voor dat je alleen input waardes wilt die in het bereik van een Integer liggen, maar vervolgens met het getal berekeningen gaat doen (waardoor het een Long kan worden). Ik geef toe dat het een vrij lelijke oplossing is, maar toch kan het.Janoz schreef op donderdag 30 oktober 2008 @ 13:35:
[...]
Eerst controleer je om te kijken of het van het type Integer is, maar daarna probeer je het te casten naar een Long.
@YopY
Dat is alleen om de waarschuwingen van de non generic Set te onderdrukken.
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
[Voor 67% gewijzigd door Janoz op 30-10-2008 14:23]
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Demotivational Speaker
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Dat hij cast gebruikte had ik even gemist. Uiteraard heb je gelijk over die check, dat is ook logisch natuurlijk.Janoz schreef op donderdag 30 oktober 2008 @ 14:21:
Je kunt een Integer object niet zomaar naar een Long object casten. Verder is Long niet eens rechtstreeks gerelateerd aan Integer. Beiden extenden ze Number. Wanneer het meegegeven object een Long zou zijn geweest dan zou de check met Integer dus gewoon false opleveren. Zou het een Integer zijn, dan krijg je een ClassCastException omdat je een (subclass van) Integer probeert te casten naar een Long.
1
2
3
| int x = 1; long y = 1; y = x; |
[Voor 0% gewijzigd door .Gertjan. op 30-10-2008 15:15. Reden: Oeps... Geef zelf het verkeerde voorbeeld in de code. Het moet natuurlijk y = x zijn.]
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
[Voor 6% gewijzigd door Janoz op 30-10-2008 15:05]
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Dat is imho een beetje een slecht voorbeeld, op veel systemen wordt een long hetzelfde geïnterpreteerd als een int..oisyn schreef op donderdag 30 oktober 2008 @ 14:25:
Net als dat je in C++ niet zomaar een int* naar een long* kunt casten, maar wel een int naar een long. In het laatste geval converteer je gewoon de waarde, maar in het eerste geval ga je een object van een bepaald type ineens interpreteren alsof het een ander type heeft.
Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.
*cough*64 bit*cough*bobo1on1 schreef op donderdag 30 oktober 2008 @ 16:59:
Dat is imho een beetje een slecht voorbeeld, op veel systemen wordt een long hetzelfde geïnterpreteerd als een int.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Snap jij de betekenis van "veel"?
Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.
Ik ben verslaafd aan koken. Volg me op https://www.kookjunk.nl
Demotivational Speaker
Het is helemaal geen slecht voorbeeld, want op geen enkel systeem mag je een int* casten naar een long* zonder reinterpret_cast, ookal geldt sizeof(int)==sizeof(long). Het toch wel doen is UB, en kan dus net zo goed je harde schijf formatteren (extreem voorbeeld, maar een compliant compiler mag dergelijke code genereren). Dat het over het algemeen gewoon werkt als sizeof(int)==sizeof(long) maakt het nog geen good practice.bobo1on1 schreef op donderdag 30 oktober 2008 @ 16:59:
[...]
Dat is imho een beetje een slecht voorbeeld
[Voor 40% gewijzigd door .oisyn op 30-10-2008 22:20]
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
tut tut ...bobo1on1 schreef op donderdag 30 oktober 2008 @ 21:58:
Snap jij de betekenis van "veel"?
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Binnen Java is er een verschil tussen primitieve variabelen en objectvariabelen. Jouw voorbeeld werkt in Java perfect, maar als je het volgende doet:.Gertjan. schreef op donderdag 30 oktober 2008 @ 14:33:
[...]
Dat hij cast gebruikte had ik even gemist. Uiteraard heb je gelijk over die check, dat is ook logisch natuurlijk.
Maar het volgende is wel mogelijk (en ik dacht dat het daar over ging):
code:
1 2 3 int x = 1; long y = 1; y = x;
Dit is volgens mij in de meeste talen wel mogelijk (in C# zeker) en zal geen errors geven.
Blijkt dat ik me meng in een discussie zonder eerst het begin te lezen
1
2
3
| Int x = 1; Long y = 1; y = x; |
Phenom II X4 945 \\ 8GB DDR3 \\ Crosshair IV Formula \\ R9 290
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
1
2
3
4
5
6
7
8
9
10
11
| string uitDB = "SELECT password FROM logins WHERE username = 'pietje'"; string invoer = password.Text; if (invoer == uitDB) { label1.Text = "goedzo!"; } else { label1.Text = "fout!"; } |
1
| string sql = "SELECT nr, username, password FROM logins WHERE username = '" + username.Text + "' AND password = '" + password.Text + "'"; |
[Voor 7% gewijzigd door enira op 01-11-2008 02:29]
Twitch: Phyloni1
Path of Exile character info: Active character
Ga toch maar eens kijken naar prepared statements, want dit is zeer SQL injection gevoelig.jarnotjuh schreef op zaterdag 01 november 2008 @ 02:25:
C#:
1 string sql = "SELECT nr, username, password FROM logins WHERE username = '" + username.Text + "' AND password = '" + password.Text + "'";
Achteraf gezien ook niet de meeste briljante oplossing van me. Zou betekenen als 2 verschillende users hetzelfde wachtwoord hebben dat het dan ook werkt. Maargoed!
Naja, aldoende leert men..
Going for adventure, lots of sun and a convertible! | GMT-8
Demotivational Speaker
Euh, hoe dan?jarnotjuh schreef op zaterdag 01 november 2008 @ 02:25:
Achteraf gezien ook niet de meeste briljante oplossing van me. Zou betekenen als 2 verschillende users hetzelfde wachtwoord hebben dat het dan ook werkt.
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Inderdaad.
[Voor 27% gewijzigd door NMe op 01-11-2008 05:47]
'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.
Bij voorbeeld 1(code die ik dus eerst had) select ik alleen password uit mijn tabel.. Dus KAN je meerdere usernames terugkrijgen.. Of zie ik dat fout? Kreeg het van meerdere mensen te horen, en zag het zelf achteraf ook.
Ben maar niet bang, ik wil eerst gewoon dat het werkt. Daarna moeten we inderdaad met stored procedures(prepared statements dus?Snake schreef op zaterdag 01 november 2008 @ 03:20:
Ga toch maar eens kijken naar prepared statements, want dit is zeer SQL injection gevoelig.
Twitch: Phyloni1
Path of Exile character info: Active character
1
2
| if (invoer == uitDB) //etc |
1
| invoer.Equals(uitDB) |
1
| invoer.Equals(uitDB, StringComparison.InvariantCultureIgnoreCase) |
Kater? Eerst water, de rest komt later
Last.fm profiel
Wat is dan het verschil? Ik gebruik altijd gewoon operator== om strings te vergelijken.Haan schreef op zaterdag 01 november 2008 @ 12:28:
C#:
1 2 if (invoer == uitDB) //etc
is ook niet zo netjes, om strings te vergelijken gebruik je
C#:
1 invoer.Equals(uitDB)
Ik weet niet of het in C# zo is maar in java is een String een object en objecten vergelijk je met .equalsZoijar schreef op zaterdag 01 november 2008 @ 12:57:
[...]
Wat is dan het verschil? Ik gebruik altijd gewoon operator== om strings te vergelijken.
12x360Wp = 4320 Wp @ Growatt 4200TL-XL. Zuid met helling 13° op plat dak.
[Website en online portfolio] [Return: realtime retrospective tool] [PokerTime planning poker]
Als je een unique constraint op de username kolom hebt gezet, zou je maar één rij terug moeten krijgen. (Of in code afvangen dat een username maar één keer kan voorkomen, maar dat is een minder nette manier imo).jarnotjuh schreef op zaterdag 01 november 2008 @ 12:15:
[...]
Bij voorbeeld 1(code die ik dus eerst had) select ik alleen password uit mijn tabel.. Dus KAN je meerdere usernames terugkrijgen.. Of zie ik dat fout? Kreeg het van meerdere mensen te horen, en zag het zelf achteraf ook.
[Voor 9% gewijzigd door MatHack op 01-11-2008 13:46. Reden: String opmerking toegevoegt]
There's no place like 127.0.0.1
Kater? Eerst water, de rest komt later
Last.fm profiel
C# heeft iets dat operator overloading heet, in alle valuetypes (geen echte classes, pass by value) is == dan ook overwritten met .equals().Haan schreef op zaterdag 01 november 2008 @ 13:44:
Ik weet er ook niet meer het fijne van, maar als het goed is zit het zo: met == kijk je of de object referenties gelijk zijn, met Equals() kijk je of de objecten zelf gelijk zijn. Zoiets in ieder geval..
Daarbij kan je met de verschillende methoden die je in C# hebt om strings te vergelijken gewoon wat meer controle uitoefenen, zoals bijvoorbeeld het voorbeeld dat ik eerder al gaf.
Kater? Eerst water, de rest komt later
Last.fm profiel
Je haalt alleen een wachtwoord op, maar je doet dat op basis van een username, die naar ik hoop uniek is. Je haalt dus het wachtwoord van één specifieke gebruiker ok; het zou pas gebeuren zoals jij nu zegt als je een gebruikersnaam op zou vragen en in de WHERE een wachtwoord zou vergelijken.jarnotjuh schreef op zaterdag 01 november 2008 @ 12:15:
[...]
Bij voorbeeld 1(code die ik dus eerst had) select ik alleen password uit mijn tabel.. Dus KAN je meerdere usernames terugkrijgen.. Of zie ik dat fout? Kreeg het van meerdere mensen te horen, en zag het zelf achteraf ook.
'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.
More than meets the eye
There is no I in TEAM... but there is ME
Vroeger IceManX | system specs
Full-stack webdeveloper in Groningen
In professionele systemen mag je dat inderdaad wel aannemen, maar in dit geval (schoolopdrachten of zelfstudie) kan het dus voorkomen dat je (tijdelijk) gebruik maakt van plaintext opslag.ZanderZ schreef op zaterdag 01 november 2008 @ 16:42:
Als het goed is sla je een hash van je wachtwoord op, niet het wachtwoord zelf. En MD5, SHA1 e.d. maakt het niet uit of dat nou bijv. 5ed of 5ED is.
Demotivational Speaker
Je selecteert password voor alle rijen waarvoor de WHERE clause geldt. Dus voor alle rijen waar username='pietje' AND password='geheim'. Dan krijg je niet ineens resultaten terug als er een user 'henk' bestaat met een ander wachtwoord en je doet WHERE username='henk' AND password='geheim'. Er bestaat namelijk helemaal geen rij waarvoor geldt username='henk' AND password='geheim'.jarnotjuh schreef op zaterdag 01 november 2008 @ 12:15:
[...]
Bij voorbeeld 1(code die ik dus eerst had) select ik alleen password uit mijn tabel.. Dus KAN je meerdere usernames terugkrijgen.. Of zie ik dat fout? Kreeg het van meerdere mensen te horen, en zag het zelf achteraf ook.
[Voor 23% gewijzigd door .oisyn op 02-11-2008 14:24]
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
System.String is volgens mij een reference type. Je hebt wel gelijk dat de == operator overwritten is:roy-t schreef op zaterdag 01 november 2008 @ 14:01:
[...]
C# heeft iets dat operator overloading heet, in alle valuetypes (geen echte classes, pass by value) is == dan ook overwritten met .equals().
public static bool operator ==(string a, string b)
Member of System.String
Summary:
Determines whether two specified System.String objects have the same value.
Parameters:
a: A System.String or null.
b: A System.String or null.
Returns:
true if the value of a is the same as the value of b; otherwise, false.
[Voor 22% gewijzigd door JMfx op 02-11-2008 16:37]
Equals heeft voor het type string een overload waar je een StringComparison kan meegevenJMfx schreef op zondag 02 november 2008 @ 16:33:
[...]
System.String is volgens mij een reference type. Je hebt wel gelijk dat de == operator overwritten is:
[...]
[Voor 0% gewijzigd door Daspeed op 02-11-2008 16:41. Reden: edit: nu mijn bovenbuurman zijn post gewijzigd heeft slaat die van mij niet echt ergens meer op :P]
Ik had het al gezien, daarom had ik het verwijderdDaspeed schreef op zondag 02 november 2008 @ 16:38:
[...]
Equals heeft voor het type string een overload waar je een StringComparison kan meegeven
[Voor 3% gewijzigd door JMfx op 02-11-2008 16:49]
Hier spreek je jezelf een beetje tegen. Een professioneel systeem werkt dus met hashing, waardoor case-sensitivity niet belangrijk is. Een schoolopdracht vaak (nog) niet, waardoor het wel belangrijk is. En wat boeit vaak geen hol met schoolopdrachten? Juist, de beveiliging.Anoniem: 279039 schreef op zaterdag 01 november 2008 @ 17:02:
[...]
In professionele systemen mag je dat inderdaad wel aannemen, maar in dit geval (schoolopdrachten of zelfstudie) kan het dus voorkomen dat je (tijdelijk) gebruik maakt van plaintext opslag.
En in dat geval moet je er wel aan denken dat je eventueel rekening moet houden met hoofd- en kleine letters.
ZanderZ schreef op zaterdag 01 november 2008 @ 16:42:
Als het goed is sla je een hash van je wachtwoord op, niet het wachtwoord zelf. En MD5, SHA1 e.d. maakt het niet uit of dat nou bijv. 5ed of 5ED is.
Euh, since whenWijnbo schreef op dinsdag 04 november 2008 @ 14:26:
Een professioneel systeem werkt dus met hashing, waardoor case-sensitivity niet belangrijk is.
1
2
3
4
5
| md5("5ed") = "a08e8432acac59e97148477a09c7f558" md5("5ED") = "b9c19b35ed6e5e4f9f7895b58c34ad5e" Sha1("5ed") = "0f81011f36bc3d46f060bee62abd2648465e3b13" Sha1("5ED") = "e093348aa602230914710363bb9bb84089d4af26" |
[Voor 116% gewijzigd door RobIII op 04-11-2008 15:05]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Roses are red Violets are blue, Unexpected ‘{‘ on line 32.
Over mij
Een hash is een reeks binaire waardes (bytes). De presentatie van deze bytes bepaald of het wel of niet case-sensitive is. Als ik de hash via heximale waardes presenteer (zoals vaak het geval is) dan maakt de case inderdaad niet uit, maar als ik de hash als base64 presenteerd zit er wel degelijk een verschil tussen 'A' en 'a'.Wijnbo schreef op dinsdag 04 november 2008 @ 14:26:
Een professioneel systeem werkt dus met hashing, waardoor case-sensitivity niet belangrijk is.
[Voor 5% gewijzigd door Niemand_Anders op 04-11-2008 14:40]
If it isn't broken, fix it until it is..
Ik ben benieuwd of je ook willekeurig "true", "J", "Ja" of 1 terug krijgt.Boolean
Enkelvoudig datatype. Toegestane waarden zijn: “true”, “J”, ”Ja", 1, “false”, “N”, “Nee” en "0".
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Ik doelde op de case van de hash iddRobIII schreef op dinsdag 04 november 2008 @ 14:31:
[...]
Want? Een fatsoenlijk systeem heeft gewoon case-sensitive wachtwoorden hoorEven een paar willekeurige quotes van password guidelines:
Euh, since when
code:
1 2 3 4 5 md5("5ed") = "a08e8432acac59e97148477a09c7f558" md5("5ED") = "b9c19b35ed6e5e4f9f7895b58c34ad5e" Sha1("5ed") = "0f81011f36bc3d46f060bee62abd2648465e3b13" Sha1("5ED") = "e093348aa602230914710363bb9bb84089d4af26"
Dus tenzij je doelt op de case van de hash gewoon niet waar.
Full-stack webdeveloper in Groningen
Grappig dat 'Yes' en 'No' dan niet zijn toegestaan..rwb schreef op dinsdag 04 november 2008 @ 14:38:
Mm.. niet zozeer een slecht programmeer voorbeeld, maar meer slechte definitie: Ik moet tegen een webservice van een externe partij aanpraten, staat er in de definitie
[...]
Ik ben benieuwd of je ook willekeurig "true", "J", "Ja" of 1 terug krijgt.
Overigens zijn datums in dit systeem ook gewoon strings, maar daar hebben ze gelukkig wel gewoon een definitie voor
If it isn't broken, fix it until it is..
Dat zijn toch dingen die ik gewoon voor de 'ouwehoer' eens zou proberen en ze dan doodleuk mailen dat hun documentatie niet compleet isNiemand_Anders schreef op dinsdag 04 november 2008 @ 14:43:
[...]
Grappig dat 'Yes' en 'No' dan niet zijn toegestaan..
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Roses are red Violets are blue, Unexpected ‘{‘ on line 32.
Over mij
Je moet de zin die van IcemanX die je quote nog maar eens rustig doorlezen denk ikRobIII schreef op dinsdag 04 november 2008 @ 14:31:
[...]
Want? Een fatsoenlijk systeem heeft gewoon case-sensitive wachtwoorden hoor
bold, italic en underline door mij toegevoegdIceManX schreef op zaterdag 01 november 2008 @ 15:19:
Maar je wilt passwords meestal juist NIET case-insensitive vergelijken.
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Kolere zegNetForce1 schreef op dinsdag 04 november 2008 @ 15:02:
[...]
Je moet de zin die van IcemanX die je quote nog maar eens rustig doorlezen denk ik, hij zegt nl dit:
[...]
bold, italic en underline door mij toegevoegd
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Roses are red Violets are blue, Unexpected ‘{‘ on line 32.
Over mij
Ja dat bedoelde ik uiteindelijk ook. Ik typte het alleen niet...NetForce1 schreef op dinsdag 04 november 2008 @ 15:02:
[...]
bold, italic en underline door mij toegevoegd
More than meets the eye
There is no I in TEAM... but there is ME
Vroeger IceManX | system specs
Huh, ik zie het toch echt zo in je post staan, en er staat geen edit-tijd bij.IceManX schreef op dinsdag 04 november 2008 @ 16:48:
[...]
Ja dat bedoelde ik uiteindelijk ook. Ik typte het alleen niet...
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
More than meets the eye
There is no I in TEAM... but there is ME
Vroeger IceManX | system specs
[Voor 10% gewijzigd door CrashOverDrive op 05-11-2008 00:04]
Op zich is MDI een mooie vorm, als je wil dat alles binnen in het main screen zit. Echter, je ziet dat de 'grote' bekende applicaties van MDI zijn afgestapt, zoals het hele MS Office. Ik vind het zelf ook fijner werken zonder MDI, in de 'office' gevallen. Echter zullen er genoeg situaties zijn waarbij MDI wel wenselijk is.CrashOverDrive schreef op woensdag 05 november 2008 @ 00:01:
Geen stukje code, maar iets wat ik vandaag op school tegen kwam. Waar mijn C# `leraar` mee kwam aanzetten.
Een groepje leerlingen is bezig met een app, Ze hebben het main screen gemaakt, en vragen aan de docent hoe ze de child forms het beste kunnen maken, zodat deze in het hoofdscherm geopend worden.
Eerste methode die ik zou zeggen, MDI.
Komt de leraar met zijn methode: Inheritance.
Het child form, de parent laten overerven, en op deze manier het nieuwe form opbouwen. (er zijn een 15tal forms). En stug blijven volhouden dat het de manier is.
Ampera-e (60kWh)
Situatie in dit geval: Inventaris systeempje. Dus een hoofdscherm, en een lading forms die zaken regelen zoals: Voorraad bijwerken, artiest toevoegen, checkout, etc. Lijkt MDI me toch echt the way to go.GreenSky schreef op woensdag 05 november 2008 @ 09:29:
[...]
Op zich is MDI een mooie vorm, als je wil dat alles binnen in het main screen zit. Echter, je ziet dat de 'grote' bekende applicaties van MDI zijn afgestapt, zoals het hele MS Office. Ik vind het zelf ook fijner werken zonder MDI, in de 'office' gevallen. Echter zullen er genoeg situaties zijn waarbij MDI wel wenselijk is.
Nouja, vooral net niet. Wél losse items op je taakbalk maar je moet met het MDI-subkruisje een document sluiten... ik raak er niet aan gewendGreenSky schreef op woensdag 05 november 2008 @ 09:29:Echter, je ziet dat de 'grote' bekende applicaties van MDI zijn afgestapt, zoals het hele MS Office.
Ik zou het gewoon als UserControls implementeren, je kunt daarna altijd nog kiezen of je het in een MDIChild host of dat je het via bijvoorbeeld tabbladen, of een outlook style navigatie doet. Doordat je je controls dan gewoon makkelijk in een andere container kunt stoppen, ben je niet zo gebonden aan het hele MDI gebeuren.CrashOverDrive schreef op woensdag 05 november 2008 @ 09:49:
[...]
Situatie in dit geval: Inventaris systeempje. Dus een hoofdscherm, en een lading forms die zaken regelen zoals: Voorraad bijwerken, artiest toevoegen, checkout, etc. Lijkt MDI me toch echt the way to go.
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”
Hmm je hebt gelijk, in Office 2003. Thuis even kijken of dat ook zo is in 2007. Dom dat me dat nooit is opgevallen zeg.ValHallASW schreef op woensdag 05 november 2008 @ 10:32:
[...]
Nouja, vooral net niet. Wél losse items op je taakbalk maar je moet met het MDI-subkruisje een document sluiten... ik raak er niet aan gewend
Ampera-e (60kWh)
ValHallASW schreef op woensdag 05 november 2008 @ 10:32:
[...]
Nouja, vooral net niet. Wél losse items op je taakbalk maar je moet met het MDI-subkruisje een document sluiten... ik raak er niet aan gewend
[Voor 3% gewijzigd door .Gertjan. op 05-11-2008 10:50]
The #1 programmer excuse for legitimately slacking off: "My code's compiling"
Firesphere: Sommige mensen verdienen gewoon een High Five. In the Face. With a chair.
Anoniem: 14829
En aan de andere kant zie je bv. dat iedere zichzelf respecterende browser ondertussen 'tabbed browsing' doet, wat in feite gewoon MDI is, en de meeste mensen vinden dat gewoon prettig werken.GreenSky schreef op woensdag 05 november 2008 @ 09:29:
Op zich is MDI een mooie vorm, als je wil dat alles binnen in het main screen zit. Echter, je ziet dat de 'grote' bekende applicaties van MDI zijn afgestapt, zoals het hele MS Office.
Demotivational Speaker
[Voor 22% gewijzigd door .oisyn op 05-11-2008 21:50]
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Tabs is toch TDI?.oisyn schreef op woensdag 05 november 2008 @ 21:47:
Nee, werken met tabs is SDI. Je werkt namelijk met 1 document (window) tegelijk, die de hele applicatie inneemt. Of je dat implementeert middels tabs of middels daadwerkelijk verschillende applicatie-windows doet er verder weinig toe.
Neemt niet weg dat MDI imho nog wel degelijk nuttig gebruikt wordt. Iets als Photoshop zou ik me niet kunnen indenken zonder MDI.
True, maar wat voor criterium komt daarbij kijken?.oisyn schreef op woensdag 05 november 2008 @ 21:47:
Nee, werken met tabs is SDI. Je werkt namelijk met 1 document (window) tegelijk, die de hele applicatie inneemt. Of je dat implementeert middels tabs of middels daadwerkelijk verschillende applicatie-windows doet er verder weinig toe.
Neemt niet weg dat MDI imho nog wel degelijk nuttig gebruikt wordt. Iets als Photoshop zou ik me niet kunnen indenken zonder MDI.
Ik ben verslaafd aan koken. Volg me op https://www.kookjunk.nl
Je kunt de forms ook in een panel laten zien.. vies trucje, maar niet iedereen heeft zin in MDI. Onder andere wanneer je duidelijk maar 1 form tegelijk wil laten zien, maar nog wel toegang tot de parent wil hebben.CrashOverDrive schreef op woensdag 05 november 2008 @ 00:01:
Geen stukje code, maar iets wat ik vandaag op school tegen kwam. Waar mijn C# `leraar` mee kwam aanzetten.
Een groepje leerlingen is bezig met een app, Ze hebben het main screen gemaakt, en vragen aan de docent hoe ze de child forms het beste kunnen maken, zodat deze in het hoofdscherm geopend worden.
Eerste methode die ik zou zeggen, MDI.
Even a broken clock is right twice a day.
Demotivational Speaker
Volgens wikipedia wordt TDI idd meer gezien als MDI dan als SDI. Het criterium lijkt ook meer te zijn dat je in een SDI app met 1 document werkt, en dat alle toolwindows en menu's e.d. dus voor dat document opgeaan. Om meerdere documents te openen moet je dus meerdere apps (of instances van de main window binnen de app) openen, die als losse taken op de taakbalk terecht komen. In dat opzicht is een TDI dus ook een vorm van MDI.
You see, killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them until they reached their limit and shut down. Kif, show them the medal I won.
Ampera-e (60kWh)
Anoniem: 142689
Dat vind ik niet zo heel raar. Als het systeem van klant y 'J' gebruikt en klant x 'true' en je checkt zelf op 'yes' dan ga je echt niet tegen die klant zeggen dat hij zijn systeem maar moet aanpassen, tenzij je een of andere multinational bent die iets unieks aanbied.rwb schreef op dinsdag 04 november 2008 @ 14:38:
Mm.. niet zozeer een slecht programmeer voorbeeld, maar meer slechte definitie: Ik moet tegen een webservice van een externe partij aanpraten, staat er in de definitie
[...]
Ik ben benieuwd of je ook willekeurig "true", "J", "Ja" of 1 terug krijgt.
Overigens zijn datums in dit systeem ook gewoon strings, maar daar hebben ze gelukkig wel gewoon een definitie voor
Dit topic is gesloten.
Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 Nintendo Switch Lite
Tweakers vormt samen met
Hardware Info,
AutoTrack,
Gaspedaal.nl,
Nationale Vacaturebank,
Intermediair en
Independer
DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022
•
Hosting door True
Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.
Meer informatie vind je in ons cookiebeleid.
Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.
Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details
Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details
Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.
Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details