Toon posts:

[alg] Slechtste programmeervoorbeelden deel 4 Vorige deelOverzichtLaatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 101 102 103 Laatste
Acties:
  • 979.837 views

Acties:
  • 0Henk 'm!

90710

ThomasG schreef op dinsdag 21 mei 2013 @ 12:57:
Ik werd toch even nieuwsgierig naar de performance van verschillende manieren om een string om te zetten naar MD5. Ik heb drie implementaties genomen, en ToMD5_3 is het snelste. Bij 1.000.000 iteraties, op een i7-2600k:

ToMD5_1: 7075ms
ToMD5_2: 6300ms
ToMD5_3: 5752ms


C#:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using System;
using System.Diagnostics;
using System.Security.Cryptography;
using System.Text;

namespace ConsoleApplication1
{
    static class StringExtensions
    {
        public static string ToMD5_1(this string value)
        {
            StringBuilder hexadecimal = new StringBuilder();

            using (MD5 md5Hash = MD5.Create())
            {
                byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(value));

                for (int i = 0; i < data.Length; i++)
                    hexadecimal.Append(data[i].ToString("x2"));
            }

            return hexadecimal.ToString().ToLower();
        }

        public static string ToMD5_2(this string value)
        {
            byte[] data;

            using (MD5 md5 = MD5.Create())
            {
                data = md5.ComputeHash(Encoding.UTF8.GetBytes(value));
            }

            return BitConverter.ToString(data).ToLower().Replace("-", string.Empty);
        }

        public static string ToMD5_3(this string value)
        {
            byte[] data;

            using (MD5 md5 = MD5.Create())
            {
                data = md5.ComputeHash(Encoding.UTF8.GetBytes(value));
            }

            return data.ToHex().ToLower();
        }
    }

    static class ByteExtensions
    {
        private const string hexChars = "0123456789ABCDEF";

        public static string ToHex(this byte[] bytes)
        {
            int length = bytes.Length * 2;
            char[] hex = new char[length];
            int byteIndex = 0;

            for (int charIndex = 0; charIndex < length; charIndex += 2)
            {
                byte byteValue = bytes[byteIndex++];
                hex[charIndex] = hexChars[byteValue / 16];
                hex[charIndex + 1] = hexChars[byteValue % 16];
            }

            return new string(hex);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            int iterations = 1000000;
            Stopwatch sw = Stopwatch.StartNew();
            for (int i = 0; i < iterations; i++)
            {
                "thisisasillystringtodosomemagicon".ToMD5_1();
            }
            sw.Stop();
            Console.WriteLine((sw.ElapsedMilliseconds).ToString());

            sw = Stopwatch.StartNew();
            for (int i = 0; i < iterations; i++)
            {
                "thisisasillystringtodosomemagicon".ToMD5_2();
            }
            sw.Stop();
            Console.WriteLine((sw.ElapsedMilliseconds).ToString());

            sw = Stopwatch.StartNew();
            for (int i = 0; i < iterations; i++)
            {
                "thisisasillystringtodosomemagicon".ToMD5_3();
            }
            sw.Stop();
            Console.WriteLine((sw.ElapsedMilliseconds).ToString());
            Console.ReadLine();
        }
    }
}
Maar als je bv een wachtwoord met MD5 (of welke andere hashing methode dan ook) genereert wil je juist dat je wat trager bent ;) Gezien het feit dat je dan moeilijker kan brute-forcen.

Acties:
  • 0Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 03:35

F.West98

Alweer 13 jaar hier

Iets van mezelf. Net ineens like 'WTF waarom deed ik dat zo.'. Zomaar :p

PHP:
1
2
3
4
5
6
7
8
$a = 0;
foreach ($array as $arrayitem) {
$a++;
echo $item;
if($a < count($array)) {
echo 'some stuff in between';
}
}


Wat natuurlijk veel beter zo kan:
PHP:
1
echo implode('somestuffinbetween', $array);

2x Dell UP2716D | i7 6700K | 64GB RAM | Samsung 850 1TB | ASUS ROG Maximus VIII Formula | GTX960
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
90710 schreef op vrijdag 24 mei 2013 @ 18:58:
[...]

Maar als je bv een wachtwoord met MD5 (of welke andere hashing methode dan ook) genereert wil je juist dat je wat trager bent ;) Gezien het feit dat je dan moeilijker kan brute-forcen.
waarom zou dat helpen? Dan kan je beter een sleep inbouwen aan het eind van de validatie-methode, scheelt je processortijd=load.

Acties:
  • 0Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 13-02 22:01
MBV schreef op vrijdag 24 mei 2013 @ 19:41:
[...]

waarom zou dat helpen? Dan kan je beter een sleep inbouwen aan het eind van de validatie-methode, scheelt je processortijd=load.
Of exponentieel blokkeren.

Drie keer achter elkaar fout is 1 min. geblokkeerd, tien keer fout een dag, twintig keer fout een jaar. :)

Acties:
  • 0Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 25-05 17:17

Patriot

Fulltime #whatpulsert

MBV schreef op vrijdag 24 mei 2013 @ 19:41:
[...]

waarom zou dat helpen? Dan kan je beter een sleep inbouwen aan het eind van de validatie-methode, scheelt je processortijd=load.
Ik denk dat hij, hoewel daar in dit geval geen sprake van was, doelde op het feit dat het hashen best wel iets duurder mag zijn zodat bruteforcen meer tijd kost.

de Tweakers-cookiewall is illegaal


Acties:
  • 0Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 10:13
MBV schreef op vrijdag 24 mei 2013 @ 19:41:
[...]

waarom zou dat helpen? Dan kan je beter een sleep inbouwen aan het eind van de validatie-methode, scheelt je processortijd=load.
Volgens mij is dat niet bedoeld voor 'zodat het op je productieserver' trager is. Maar dat als men achter het algoritme komt en de tabel met hashes ligt op straat men niet snel een betreffende hash kan bruteforcen.

Niet het bruteforcen 'live' op de server.

[Voor 4% gewijzigd door ZpAz op 24-05-2013 21:46]

"Lambs to the cosmic slaughter!" - Morty


Acties:
  • 0Henk 'm!

  • Mercatres
  • Registratie: September 2009
  • Laatst online: 25-05 11:52
F.West98 schreef op vrijdag 24 mei 2013 @ 19:06:
Iets van mezelf. Net ineens like 'WTF waarom deed ik dat zo.'. Zomaar :p

PHP:
1
2
3
4
5
6
7
8
$a = 0;
foreach ($array as $arrayitem) {
$a++;
echo $item;
if($a < count($array)) {
echo 'some stuff in between';
}
}


Wat natuurlijk veel beter zo kan:
PHP:
1
echo implode('somestuffinbetween', $array);
Hah, heel herkenbaar. Het is ook heel moeilijk om te omschrijven om te kijken of er een functie is. Zeker binnen php.

Acties:
  • 0Henk 'm!

90710

Patriot schreef op vrijdag 24 mei 2013 @ 21:10:
[...]


Ik denk dat hij, hoewel daar in dit geval geen sprake van was, doelde op het feit dat het hashen best wel iets duurder mag zijn zodat bruteforcen meer tijd kost.
Precies ;) Maar ik wist niet precies waar de code voor diende :p

[Voor 8% gewijzigd door 90710 op 24-05-2013 22:41]


Acties:
  • 0Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 07:02

Pizzalucht

Snotneus.

F.West98 schreef op vrijdag 24 mei 2013 @ 19:06:
Iets van mezelf. Net ineens like 'WTF waarom deed ik dat zo.'. Zomaar :p

PHP:
1
2
3
4
5
6
7
8
$a = 0;
foreach ($array as $arrayitem) {
$a++;
echo $item;
if($a < count($array)) {
echo 'some stuff in between';
}
}


Wat natuurlijk veel beter zo kan:
PHP:
1
echo implode('somestuffinbetween', $array);
PHP zelf doet het zelf ook (ongeveer) zo. Het staat natuurlijk wel netter als je implode() gebruikt :)
C:
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
PHPAPI void php_implode(zval *delim, zval *arr, zval *return_value TSRMLS_DC)
{

    zval         **tmp;
    HashPosition   pos;
    smart_str      implstr = {0};
    int            numelems, i = 0;
    zval tmp_val;
    int str_len;

    numelems = zend_hash_num_elements(Z_ARRVAL_P(arr));

    zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(arr), &pos);

    while (zend_hash_get_current_data_ex(Z_ARRVAL_P(arr), (void **) &tmp, &pos) == SUCCESS) {

        tmp_val = **tmp;
        zval_copy_ctor(&tmp_val);
        convert_to_string(&tmp_val);
        smart_str_appendl(&implstr, Z_STRVAL(tmp_val), Z_STRLEN(tmp_val));
        zval_dtor(&tmp_val);

        if (++i != numelems) {
            smart_str_appendl(&implstr, Z_STRVAL_P(delim), Z_STRLEN_P(delim));
        }
        zend_hash_move_forward_ex(Z_ARRVAL_P(arr), &pos);
    }

    smart_str_0(&implstr);

    if (implstr.len) {
        RETURN_STRINGL(implstr.c, implstr.len, 0);
    } else {
        smart_str_free(&implstr);
        RETURN_EMPTY_STRING();
    }
}


Niet de hele functie, alleen de relevante dingen.

[Voor 6% gewijzigd door Pizzalucht op 24-05-2013 23:02]


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
90710 schreef op vrijdag 24 mei 2013 @ 22:41:
[...]

Precies ;) Maar ik wist niet precies waar de code voor diende :p
Daarom moet je ook een moeilijker algoritme gebruiken dan MD5, de hackers zijn over het algemeen heel goed in het efficiënt implementeren van je algoritme ;)

  • Patriot
  • Registratie: December 2004
  • Laatst online: 25-05 17:17

Patriot

Fulltime #whatpulsert

MBV schreef op zaterdag 25 mei 2013 @ 01:03:
[...]

Daarom moet je ook een moeilijker algoritme gebruiken dan MD5, de hackers zijn over het algemeen heel goed in het efficiënt implementeren van je algoritme ;)
Dat staat op zich los van het gebruikte algoritme. Als we kijken naar PHP, dan kun je middels de hash_pbkdf2 functie ook een heel goedkoop hash-algoritme gebruiken, dan moet je alleen het aantal iteraties omhoog schroeven om dezelfde hoeveelheid work te behalen als een relatief duur algoritme.

de Tweakers-cookiewall is illegaal


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
Ok, laat ik het anders formuleren: je moet iets doen om het aantal berekeningen dat hackers nodig hebben zo groot mogelijk te maken t.o.v. wat je zelf moet doen. MD5 implementeren op een manier die jou 10x zoveel tijd kost als de optimale implementatie helpt dus niet, maar 10x MD5 helpt wel (een beetje). Dus als je kan kiezen tussen een algoritme snel of langzaam uitvoeren, kan je net zo goed voor de snelle kiezen.

  • Patriot
  • Registratie: December 2004
  • Laatst online: 25-05 17:17

Patriot

Fulltime #whatpulsert

MBV schreef op zaterdag 25 mei 2013 @ 19:39:
Ok, laat ik het anders formuleren: je moet iets doen om het aantal berekeningen dat hackers nodig hebben zo groot mogelijk te maken t.o.v. wat je zelf moet doen. MD5 implementeren op een manier die jou 10x zoveel tijd kost als de optimale implementatie helpt dus niet, maar 10x MD5 helpt wel (een beetje). Dus als je kan kiezen tussen een algoritme snel of langzaam uitvoeren, kan je net zo goed voor de snelle kiezen.
Nouja, als je bedoelt dat je er niets mee opschiet om een 10 keer langzamere implementatie te gebruiken van MD5, omdat je zeker weet dat de hacker toegang heeft tot de snellere implementatie, dan heb je inderdaad gelijk. Maar ook dat staat los van het algoritme, dus ik vind het nog steeds een beetje kort door de bocht om te zeggen dat je een "moeilijker algoritme dan MD5" moet gebruiken.

de Tweakers-cookiewall is illegaal


Acties:
  • 0Henk 'm!

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 29-04 16:00
Tarabass schreef op donderdag 09 mei 2013 @ 09:55:
[...]
Je zal maar een miljoen gebruikers hebben en de gebruiker die zich inlogt is pas net lid :P
Dat maakt alsnog niets uit. Er mist een exit achter de header waardoor hij alsnog de hele lus doorgaat en de output van de hele pagina doorstuurt naar de client ook al zou de client deze niet mogen zien. Daarom dus altijd een exit achter een location header.

Acties:
  • 0Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 05-04 21:00
Phoenix1337 schreef op dinsdag 28 mei 2013 @ 13:25:
[...]
Dat maakt alsnog niets uit. Er mist een exit achter de header waardoor hij alsnog de hele lus doorgaat en de output van de hele pagina doorstuurt naar de client ook al zou de client deze niet mogen zien. Daarom dus altijd een exit achter een location header.
Een van de problemen met die code is dat je niet weet in welke volgorde de gebruikers opgeleverd worden, en het nog niet eens zo verwonderlijk zou zijn dat nieuwe gebruikers achteraan staan en met een exit() dan nog steeds alle gebruikers doorgelopen worden wanneer zo'n nieuwe gebruiker zich aanmeldt.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0Henk 'm!

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 29-04 16:00
Infinitive schreef op dinsdag 28 mei 2013 @ 13:53:
[...]

Een van de problemen met die code is dat je niet weet in welke volgorde de gebruikers opgeleverd worden, en het nog niet eens zo verwonderlijk zou zijn dat nieuwe gebruikers achteraan staan en met een exit() dan nog steeds alle gebruikers doorgelopen worden wanneer zo'n nieuwe gebruiker zich aanmeldt.
Klopt, die code is zo fout als wat. Ik doelde alleen op de opmerking over die while. Die wordt hoe dan ook altijd volledig uitgevoerd ongeacht waar de gebruiker in de resultset staat.

Acties:
  • 0Henk 'm!

  • JapyDooge
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:30

JapyDooge

NoxiousPluK

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$aInvoiceRule = array(
    'invoice_id'            => $iInvoice,
    'parent_id'          => null,
    'subscription_id'      => null,
    'product_id'            => $aProduct[0]['product_id'],
    'description'          => $aProduct[0]['name'],
    'greatbooknumber'      => $aProduct[0]['exactglobenumber'] . '000',
    'purchase_price'        => 0,
    'sale_price'            => '1.25',
    'tax'               => 21, //$aTax['tax']
    'start_date'            => date('Y-m-d'),
    'end_date'          => date('Y-m-d')
);


Een BTW probleempje gefixed, nooit meer aankomen :$

Acties:
  • 0Henk 'm!

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 29-04 16:00
JapyDooge schreef op dinsdag 28 mei 2013 @ 14:53:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$aInvoiceRule = array(
    'invoice_id'            => $iInvoice,
    'parent_id'          => null,
    'subscription_id'      => null,
    'product_id'            => $aProduct[0]['product_id'],
    'description'          => $aProduct[0]['name'],
    'greatbooknumber'      => $aProduct[0]['exactglobenumber'] . '000',
    'purchase_price'        => 0,
    'sale_price'            => '1.25',
    'tax'               => 21, //$aTax['tax']
    'start_date'            => date('Y-m-d'),
    'end_date'          => date('Y-m-d')
);


Een BTW probleempje gefixed, nooit meer aankomen :$
Waarom staat 1.25 binnen quotes?

Acties:
  • 0Henk 'm!

  • JapyDooge
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:30

JapyDooge

NoxiousPluK

Phoenix1337 schreef op dinsdag 28 mei 2013 @ 14:57:
[...]


Waarom staat 1.25 binnen quotes?
Dunno, niet mijn code :+

Ik werk bij een bedrijf die ooit hebben besloten om al hun administratiesoftware inhouse te schrijven en dat is zegmaar niet de allerbeste beslissing geweest.

In ieder geval niet met de developers die het gebakken hebben.

Acties:
  • 0Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
Wees blij, ze hadden het naar India kunnen outsourcen ;)

Acties:
  • 0Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 13-02 22:01
Nou ja, op de achtergrond maakt PHP toch het liefst overal strings van, ze zijn hem nu gewoon een stapje voor. :)

Acties:
  • 0Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Greatbooknumber :D

Maar waarom niet de waarde die in $aTax['tax'] wordt gezet aanpassen? Als ik die code zo zie, moet de rest van de code op zich redelijk zijn. Dat idee krijg ik in ieder geval.

Acties:
  • 0Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 08:10
Die zag ik ook, zo grappig :D :D

Acties:
  • 0Henk 'm!

  • Barman
  • Registratie: Juli 2001
  • Niet online
Het beruchte Nederlandse Stonecoleish. Staat er nog een in volgens mij, aangezien het over boekhouding gaat.
Dit soort uitwassen zit in onze software ook veel, maar dan een combinatie van Engels, Nederlands, Frans, Duits en bijna Engels. En dan beledigd kijken, wanneer een Native zwaar in de lach schiet of zich zich zwaar beledigd voelt.

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.


Acties:
  • 0Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Natuurlijk greatbooknumber. Nederlands in code is stom en slecht. Engels is altijd beter. Ook als het domein Nederlandstalig is. Wat weten de domeinexperts nou helemaal?

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0Henk 'm!

  • JapyDooge
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:30

JapyDooge

NoxiousPluK

Mja, grootboek is 'general ledger' in het english dus het zou beter kunnen idd :P

Maarja, as said, ook niet mijn code :+

En die $tax kwam ergens uit een tabel, door 6 or 7 layers/classes/enz heen en verliest ergens halverwege z'n waarde :+

Acties:
  • 0Henk 'm!

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 29-04 16:00
En daarnaast dus de float binnen quotes en floats voor bedragen:)

Acties:
  • 0Henk 'm!

  • JapyDooge
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:30

JapyDooge

NoxiousPluK

Jups.

De hele boel zit vol met classes op classes op database layers enz enz :P 1 grote complexe soep wat ook nog eens op Zend 1.2 ofzo hangt, met een aangepaste core :X

Acties:
  • 0Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 25-05 15:37

Matis

Rubber Rocket

WTF bol.com
Ik wil mijn wachtwoord veranderen. Middels lastpass genereer ik het volgende wachtwoord: #$bLLTK8up7N5P*x.
Dat lijkt overeen te komen met de wensen van bol.com; Immers:
wachtwoordtips
1. Gebruik altijd voor iedere website of login een verschillend, uniek wachtwoord.
2. Wijzig uw wachtwoorden regelmatig.
3. Gebruik wachtwoorden van minimaal 8 tekens.
4. Een goed wachtwoord bevat hoofdletters en kleine letters, cijfers, en speciale tekens (!$%^&*).
5. Gebruik nooit al te voor de hand liggende wachtwoorden, zoals (achter)namen of geboortedata.
Maar nu krijg ik de volgende foutmelding
We wijzen u graag op het volgende:
Het wachtwoord moet minimaal 6 tekens bevatten.


WTF willen ze nu :/

Edit; Ik heb ook geprobeerd met 8 cijfers, 8 (hoofd) letters of 8 speciale tekens. Geen van alle lijkt ie te slikken.
Ik heb het billie gevraagd (hun helpdeskbot), maar daarvan wordt ik ook niets wijzer:
Billie zegt:Let bij het invoeren van het e-mailadres en wachtwoord goed op dat u geen typfouten maakt. Mocht het toch niet lukken om in te loggen dan kunt u het beste een nieuw wachtwoord aanvragen. Gebruik minimaal 8 tekens voor uw wachtwoord en maak een combinatie van hoofdletters en kleine letters, cijfers, en speciale tekens. Is er nog iets anders waarmee ik u van dienst kan zijn?
Nu maar een wachtwoord van 12 karakters ingesteld, want 14, 15 en 16 pakt ie niet 8)7

[Voor 31% gewijzigd door Matis op 28-05-2013 22:08]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 25-05 22:13
Matis schreef op dinsdag 28 mei 2013 @ 22:01:
Nu maar een wachtwoord van 12 karakters ingesteld, want 14, 15 en 16 pakt ie niet 8)7
Ik denk dat ik toendertijd ook hetzelfde probleem heb gehad want normaal genereer ik 40 character passwords en voor Bol.com is ie ook maar 12 :+

Acties:
  • 0Henk 'm!

  • neographikal
  • Registratie: Januari 2001
  • Niet online
Ow dat gebeurt zelfs bij banken nog, ik snap niet waarom een wachtwoord voor een bank maar 8-12 tekens mag hebben. Crasht anders de hashingfunctie of wat.

Op zoek naar software/integratie-architect?


Acties:
  • 0Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 06-05 09:08
Het wachtwoord van je Hotmail-account Microsoft .NET Passport .NET Passport Windows Live ID Microsoft-account mag ook maar maximaal 16 tekens lang zijn. Vroeger (voor de laatste makeover) werd alles na de eerste 16 tekens gewoon afgekapt in de backend, maar tegenwoordig zit er een maxlength op de tekstbox.

De oorzaak schijnt te liggen in backendsystemen die niet meer aankunnen dan 16 tekens (pre-hashing), en dat het wijzigen de nodige tijd zou kosten.

We are shaping the future


  • Chris7
  • Registratie: Maart 2011
  • Niet online
Bij mij op school (universiteit ja) is het zelfs nog erger: Je wachtwoord mag zo lang zijn als je wil, maar als de eerste acht tekens goed zijn wordt je al binnen gelaten. Aangezien ik een Informatica-opleiding doe, valt dat toch wel heel erg tegen... Overigens draaien we ook nog een Linux-distro van 3 jaar geleden (en geen LTS-versie, dus hij wordt al niet meer ondersteund, al hebben ze hem überhaupt nooit geüpdatet).

  • _Moe_
  • Registratie: Mei 2006
  • Laatst online: 25-05 07:46
Chris7 schreef op woensdag 29 mei 2013 @ 08:07:
Bij mij op school (universiteit ja) is het zelfs nog erger: Je wachtwoord mag zo lang zijn als je wil, maar als de eerste acht tekens goed zijn wordt je al binnen gelaten. Aangezien ik een Informatica-opleiding doe, valt dat toch wel heel erg tegen... Overigens draaien we ook nog een Linux-distro van 3 jaar geleden (en geen LTS-versie, dus hij wordt al niet meer ondersteund, al hebben ze hem überhaupt nooit geüpdatet).
Dus eigenlijk kapt deze ook af na 8 tekens :+

RTFM!


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 09:13

Cyphax

Moderator NOS
Alex) schreef op dinsdag 28 mei 2013 @ 22:56:
Het wachtwoord van je Hotmail-account Microsoft .NET Passport .NET Passport Windows Live ID Microsoft-account mag ook maar maximaal 16 tekens lang zijn. Vroeger (voor de laatste makeover) werd alles na de eerste 16 tekens gewoon afgekapt in de backend, maar tegenwoordig zit er een maxlength op de tekstbox.

De oorzaak schijnt te liggen in backendsystemen die niet meer aankunnen dan 16 tekens (pre-hashing), en dat het wijzigen de nodige tijd zou kosten.
Pfff ja, vreselijk, en ze zijn totaal vergeten de interface wat feedback te laten geven. Maar toen ik probeerde in te loggen op de app op m'n telefoon ging het mis. Ik kon niet inloggen terwijl ik wist dat m'n wachtwoord echt klopte. Immers, de webinterface accepteerde het gewoon en ook in m'n IM-client ging dat prima... maar die app deed dat dus niet. Dat was (hopelijk niet meer) een lelijke fout van MS daar.

Saved by the buoyancy of citrus


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
Bij Moneyou heb ik ooit een probleem gehad: wachtwoord was verlopen, dus lastpass genereert een wachtwoord met een # erin. Daar kan je wel je wachtwoord naartoe wijzigen, maar niet mee inloggen! 8)7 Vervolgens gebeld wat ik nu moest doen, aangezien ik de geheime vragen natuurlijk ook niet meer wist. Ze konden me het antwoord op de geheime vragen vertellen, dus toen maar geen speciale tekens in moneyou.

[Voor 14% gewijzigd door MBV op 29-05-2013 09:17]


  • Cyphax
  • Registratie: November 2000
  • Laatst online: 09:13

Cyphax

Moderator NOS
Een wachtwoord met een # erin wordt niet geaccepteerd? Wat voeren ze met die wachtwoorden uit bij het controleren dan? :X
(En anders sla je de antwoorden van je geheime vragen gewoon niet versleuteld op, ben benieuwd of ze dat met de wachtwoorden wel doen :X)

Ik heb ook iets vergelijkbaars met usernames. Ik gebruik eigenlijk net zo lief even een e-mailadres, maar usernames mogen vaak geen @ bevatten. Da's weer jammer.

Saved by the buoyancy of citrus


  • Coca-Cola
  • Registratie: Maart 2001
  • Laatst online: 07:53
Chris7 schreef op woensdag 29 mei 2013 @ 08:07:
Bij mij op school (universiteit ja) is het zelfs nog erger: Je wachtwoord mag zo lang zijn als je wil, maar als de eerste acht tekens goed zijn wordt je al binnen gelaten. Aangezien ik een Informatica-opleiding doe, valt dat toch wel heel erg tegen... Overigens draaien we ook nog een Linux-distro van 3 jaar geleden (en geen LTS-versie, dus hij wordt al niet meer ondersteund, al hebben ze hem überhaupt nooit geüpdatet).
Haha, Leiden toevallig? Daar had ik het 10 jaar geleden al opgemerkt... Net even gechecked en ik kan (8 jaar na uitschrijven), nog steeds op mijn ftp, mail en persoonlijke site met mijn account en mijn mail account pakt inderdaad nog steeds maar de max 8 characters, alles erachter wordt genegeerd... Toppie hoor!

  • Chris7
  • Registratie: Maart 2011
  • Niet online
Coca-Cola schreef op woensdag 29 mei 2013 @ 11:00:
[...]


Haha, Leiden toevallig? Daar had ik het 10 jaar geleden al opgemerkt... Net even gechecked en ik kan (8 jaar na uitschrijven), nog steeds op mijn ftp, mail en persoonlijke site met mijn account en mijn mail account pakt inderdaad nog steeds maar de max 8 characters, alles erachter wordt genegeerd... Toppie hoor!
Leiden ja. Overigens geld die beperking van max. 8 characters ook voor de usernames, dus die zijn bij sommigen ook lekker onlogisch.

  • Tsunami
  • Registratie: Juni 2002
  • Niet online
Woningnet.nl heeft hetzelfde, probleem is waarschijnlijk dat http://php.net/crypt wordt gebruikt met voor iedere gebruiker dezelfde salt. Staat gewoon gedocumenteerd op die pagina, maar ja.
The standard DES-based crypt() returns the salt as the first two characters of the output. It also only uses the first eight characters of str, so longer strings that start with the same eight characters will generate the same result (when the same salt is used).

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
MBV schreef op woensdag 29 mei 2013 @ 09:16:
Bij Moneyou heb ik ooit een probleem gehad: wachtwoord was verlopen, dus lastpass genereert een wachtwoord met een # erin. Daar kan je wel je wachtwoord naartoe wijzigen, maar niet mee inloggen! 8)7 Vervolgens gebeld wat ik nu moest doen, aangezien ik de geheime vragen natuurlijk ook niet meer wist. Ze konden me het antwoord op de geheime vragen vertellen, dus toen maar geen speciale tekens in moneyou.
bij moneyou is het nog leuker... weet niet of het nog zo is, maar een jaar geleden wilde ik een wachtwoord instellen met een + erin... werkte prima.. maar niet in de mobiele app.... na heel veel zoeken kwam ik er achter waarom ik mobiel niet kon inloggen... dat kan pas toen ik de + in een . veranderde....

al die wachtwoordregels van de verschillende sites wordt ik sowieso gek van... ik wil vaak hetzelfde wachtwoord (of een kleine aanpassing al naar gelang de site), maar omdat iedere site weer andere regels hanteert heb ik dus bijna nergens hetzelfde wachtwoord... (net zo irritant als mensen die MIJN loginnaam al eerder hebben dan dat ik me aanmeld op een site... grrr... ook overal andere loginnames... zo irri :+ )

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
Ik heb kennelijk een redelijk unieke username, meestal is hij nog vrij :) Maar wachtwoorden doe ik niet moeilijk over: sinds die grote hack bij LinkedIn heb ik al mijn wachtwoorden veranderd naar gegenereerde wachtwoorden. Zonder lastpass kom ik alleen in DigId en 1 mailaccount.

  • Tarabass
  • Registratie: Februari 2008
  • Laatst online: 17-06-2021

Tarabass

Webmaster

Ach, Google heeft de dot-bug ook nog in het assortiment. Ze doen het af als een feature. Zolang giganten als Google dit soort 'bugs' niet serieus nemen, verwacht ik van bovenstaande websites al helemaal niet dat ze wachtwoordpolicies serieus gaan nemen.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Tarabass schreef op woensdag 29 mei 2013 @ 21:49:
Ach, Google heeft de dot-bug ook nog in het assortiment. Ze doen het af als een feature. Zolang giganten als Google dit soort 'bugs' niet serieus nemen, verwacht ik van bovenstaande websites al helemaal niet dat ze wachtwoordpolicies serieus gaan nemen.
Leg eens uit waarom dat een bug is dan? Dat is zover ik weet gewoon by-design ( I.i.g. al bekend zolang GMail bestaat ). En hoewel je kunt betwisten of het een nuttige/wenselijke feature is, zie ik het niet als een bug.

“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.”


  • Davio
  • Registratie: November 2007
  • Laatst online: 13-02 22:01
Tja, ik zie het probleem ook niet.
Want volgens mij zijn geen twee adressen (als je alle dots weghaalt) hetzelfde.

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 29-04 16:00
Ik ga er vanuit dat ze daar ook op controleren als het een feature is.

  • Chris7
  • Registratie: Maart 2011
  • Niet online
Bij Gmail is het volgens mij expres. Het werkt geloof ik ook alleen als er ook daadwerkelijk geen ander adres is die hetzelfde is maar dan zonder punten. Overigens kun je @gmail.com ook weglaten bij het inloggen, dus ik denk dat ze het gewoon zo makkelijk mogelijk willen maken.

  • Tarabass
  • Registratie: Februari 2008
  • Laatst online: 17-06-2021

Tarabass

Webmaster

Ik krijg e-mails binnen van iemand anders, terwijl hij het e-mailadres al had zonder punt en ik het e-mailadres kon aanmaken (dus er werd geen check gedaan) met punt. Toen ik mijn mailbox voor het eerst opende kreeg ik van jaren e-mails te zien van iemand anders. Foto's, afspraken, facturen, etc. Zo ben ik achter het bestaan van de bug gekomen (en is mijn vertrouwen in Google redelijk beschadigd).

Ik kon bij gmail dus mijn.naam@gmail.com aanmaken en gebruiken, terwijl iemand anders mijnnaam@gmail.com al had geclaimd en in gebruik heeft.

De 'feature' is dat de punt genegeerd wordt, maar dat de validatie daar niet op ingericht is. Maar als jullie het een feature vinden dat ik jaren e-mails krijg (en nog steeds) omdat ons e-mailadres zonder punt hetzelfde is, is dat prima. Ik zou het erg onprettig vinden als iemand al mijn e-mail ineens voorgeschoteld kreeg. :)

Meer info:
http://blog.sandipb.net/2...our-email-address-policy/
http://productforums.goog...#!topic/gmail/j6jjcm77IEQ

[Voor 14% gewijzigd door Tarabass op 30-05-2013 10:29]


  • Hydra
  • Registratie: September 2000
  • Laatst online: 23-05 19:17
Tarabass schreef op donderdag 30 mei 2013 @ 10:19:
Ik krijg e-mails binnen van iemand anders, terwijl hij het e-mailadres al had zonder punt en ik het e-mailadres kon aanmaken (dus er werd geen check gedaan) met punt.
Dat is op dit moment in ieder geval niet mogelijk. En voor zover ik weet ook nooit mogelijk geweest. Ik kan geen enkele variatie met punten aanmaken van mijn bestaande gmail adressen.

https://niels.nu


  • Firesphere
  • Registratie: September 2010
  • Laatst online: 21-05 12:52

Firesphere

Yoshis before Hoshis

Hydra schreef op donderdag 30 mei 2013 @ 10:31:
[...]


Dat is op dit moment in ieder geval niet mogelijk. En voor zover ik weet ook nooit mogelijk geweest. Ik kan geen enkele variatie met punten aanmaken van mijn bestaande gmail adressen.
Dit was bij de lancering van gmail. Het probleem is al verholpen qua registratie, alleen zijn er dus blijkbaar oude registraties die toch nog steeds fout gaan?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


  • Tarabass
  • Registratie: Februari 2008
  • Laatst online: 17-06-2021

Tarabass

Webmaster

Hydra schreef op donderdag 30 mei 2013 @ 10:31:
[...]


Dat is op dit moment in ieder geval niet mogelijk. En voor zover ik weet ook nooit mogelijk geweest. Ik kan geen enkele variatie met punten aanmaken van mijn bestaande gmail adressen.
Dus je zegt eigenlijk dat ik onzin verkondig? Misschien moet je de bronnen die ik (later) toegevoegd heb even lezen. Het gaat (of ging) om de combinatie google-gmail account :)

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Deze bug is inderdaad vrij irritant. Ik heb hier zelf ook last van. Ik heb een emailadres: [eerstelettervoornaam].achternaam@gmail.com. Iemand heeft ook [eerstelettervoornaam]achternaam@gmail.com. Ik wist niet van de bug en ineens kreeg ik een reactie op een sollicitatie binnen (voor een functie waar ik niet van wist, ergens aan de andere kant van het land) en nog meer best wel vertrouwelijk informatie. Heb via google toen een telefoonnummer kunnen achterhalen. Hij was op zijn zachtstgezegd, not amused. Sindsdien krijg ik niets meer binnen van hem, dus ik neem aan dat hij het adres niet meer gebruikt. Zeker weten doe ik het echter niet. Het nadeel is echter ook dat ik nu af en toe twijfel of ik wel alles binnen krijg, maar tot nu toe (3 jaar later) nog niets gemerkt.

Acties:
  • 0Henk 'm!

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 09:39

scorpie

Supra Addict

Uuuhm ja.. 186 database tables, waarvan 1 table met alle indexcolumns, en 0 foreign keys.. need I say more? :'(

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


Acties:
  • 0Henk 'm!

  • Oid
  • Registratie: November 2002
  • Niet online
gmail vertel mij wat, ik heb mijnvoornaam@gmail.com en krijg regelmatig voor andere mensen met mijn voornaam (en dus ook voornaam van die personen) een mail :), moet er altijd wel om lachen.

zo is er al een paar keer rijlessen voor mij gereserveerd.
heb ik mijn voetbal contributie niet betaald
krijg ik mailtjes met foto sessie enz.
kreeg ik van de week een betaalde NS ticket voor eindhoven naar rotterdam :)

helaas ook de vele online spelletjes :( en wie krijgt mijn mail allemaal ??? :(


ook zo'n mooie waar ik echt een hekel aan heb:

websites die eerst een limiet hebben aan gebruikersnaam en wachtwoord, en opeens niet meer. bijv. icscards / anwbcreditcard, maximaal 10 tekens voor gebuikersnaam dus een maxlength op het input veld. opeens aangepast. Transip had dat ook opeens aangepast. dan moet je dus specifieke gebruikersnamen gaan onthouden omdat ze afkappen maar daarna niet meer.

[Voor 29% gewijzigd door Oid op 31-05-2013 23:34]


  • HuHu
  • Registratie: Maart 2005
  • Niet online
Een soortgelijk iets hebben ze ook bij surfspot. Via het account van m'n werk kan ik bij surfspot inloggen, echter hanteert surfspot blijkbaar striktere eisen aan wachtwoorden dan m'n werkgever. Ik had dus een mooi, lang random wachtwoord op m'n werk, maar ik moest het inkorten en speciale tekens verwijderen omdat surfspot het niet aan kon.

  • boelensman1
  • Registratie: December 2009
  • Laatst online: 23-05 21:48
Zat m'n eigen code is op te schonen toen ik deze faal tegenkwam:
PHP:
1
2
3
4
5
$sql = "SELECT `idname` FROM `content_types` WHERE `idname`= :content_idname";
$st = $conn->prepare($sql);
$st->bindValue(':content_idname', substr($type, 8));
$st->execute() or die(print_r($st->errorInfo(), true));
$searchprovider_type_idname = $st->fetch(PDO::FETCH_COLUMN, 0);


spoiler:
Voor het geval iemand het niet ziet. Dit hele stuk kan vervangen worden door $searchprovider_type_idname=substr($type, 8 ).

[Voor 82% gewijzigd door boelensman1 op 08-06-2013 21:04]

CTO van Appeal


  • Anoniem: 156876
  • Registratie: Oktober 2005
  • Niet online
boelensman1 schreef op zaterdag 08 juni 2013 @ 18:38:
Zat m'n eigen code is op te schonen toen ik deze faal tegenkwam:
PHP:
1
2
3
4
5
$sql = "SELECT `idname` FROM `content_types` WHERE `idname`= :content_idname";
$st = $conn->prepare($sql);
$st->bindValue(':content_idname', substr($type, 8));
$st->execute() or die(print_r($st->errorInfo(), true));
$searchprovider_type_idname = $st->fetch(PDO::FETCH_COLUMN, 0);


spoiler:
Voor het geval iemand het niet ziet. Dit hele stuk kan vervangen worden door $searchprovider_type_idname=substr($type, 8 ).
Behalve dat je in je eerste voorbeeld ook checkt of ie daadwerkelijk in de database staat... ;)

  • BoopMeister
  • Registratie: Oktober 2004
  • Laatst online: 25-05 10:47
Bezig in wat legacy code, van een applicatie dat al flink wat jaartjes draait, kom je dit juweeltje tegen. :/

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
Dim table As DataTable = ... 'Haal eerste 10 rijen op

For i As Integer = 0 To 10
    Try
        Dim row As DataRow = table.Rows(i)
        ...
    Catch ex As Exception
    End Try
Next


Het komt nog redelijk vaak voor dat er geen 10 rijen zijn.

  • Freeaqingme
  • Registratie: April 2006
  • Nu online
Ook slim dat je je exceptie catcht _binnen_ de for loop. Da's handig, kan je de volgende iteratie nog een keer een exception throwen ;D

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


  • Webgnome
  • Registratie: Maart 2001
  • Laatst online: 06:52
BoopMeister schreef op donderdag 13 juni 2013 @ 15:32:
Bezig in wat legacy code, van een applicatie dat al flink wat jaartjes draait, kom je dit juweeltje tegen. :/

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
Dim table As DataTable = ... 'Haal eerste 10 rijen op

For i As Integer = 0 To 10
    Try
        Dim row As DataRow = table.Rows(i)
        ...
    Catch ex As Exception
    End Try
Next


Het komt nog redelijk vaak voor dat er geen 10 rijen zijn.
Ach je zegt het zelf al. Legacy code.. for loopje aanpassen enklaar ;)

Strava, Twitter


  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 06-05 09:08
Webgnome schreef op donderdag 13 juni 2013 @ 22:13:
[...]


Ach je zegt het zelf al. Legacy code.. for loopje aanpassen enklaar ;)
Upgraden naar .NET 3.5 en vervangen door table.Rows.Take(10) :Y

We are shaping the future


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 00:54
edit:
Oeps, in de verkeerde tab gepost.. :X

[Voor 92% gewijzigd door sig69 op 14-06-2013 10:29]

Roomba E5 te koop


Acties:
  • 0Henk 'm!

  • afraca
  • Registratie: April 2009
  • Laatst online: 15-05 07:14

afraca

Open Source!

Ik kwam net echt een parel tegen, hoewel het niet daadwerkelijk code betreft, maar meer belachelijk ontwerp van je product en een vreemd policy, allereerst de meeste idiote update-optie OOIT:

http://www.zamfoo.com/updatezamfoo

En blijkbaar mogen ze ook aan hun klantvriendelijkheid werken, alsmede de wijze waarop ze met kritieke security breaches omgaan:
http://www.webhostingtalk.com/showthread.php?t=1275572

IMDB vote history | Next-gen OS, audio en video player, search engine en Movie DB


Acties:
  • 0Henk 'm!

  • StephanVierkant
  • Registratie: Mei 2003
  • Laatst online: 24-05 09:17
afraca schreef op zondag 16 juni 2013 @ 12:07:
Ik kwam net echt een parel tegen, hoewel het niet daadwerkelijk code betreft, maar meer belachelijk ontwerp van je product en een vreemd policy, allereerst de meeste idiote update-optie OOIT:

http://www.zamfoo.com/updatezamfoo

En blijkbaar mogen ze ook aan hun klantvriendelijkheid werken, alsmede de wijze waarop ze met kritieke security breaches omgaan:
http://www.webhostingtalk.com/showthread.php?t=1275572
Begrijp ik nu echt goed dat ze verwachten je root wachtwoord over een onbeveiligde verbinding te sturen? En dat je (misschien) je wachtwoord ook moet aanpassen als je zo stom bent 'm moeilijk te maken door speciale tekens?

Acties:
  • 0Henk 'm!

  • Pizzalucht
  • Registratie: Januari 2011
  • Laatst online: 07:02

Pizzalucht

Snotneus.

Stephan4kant schreef op zondag 16 juni 2013 @ 12:25:
[...]

Begrijp ik nu echt goed dat ze verwachten je root wachtwoord over een onbeveiligde verbinding te sturen? En dat je (misschien) je wachtwoord ook moet aanpassen als je zo stom bent 'm moeilijk te maken door speciale tekens?
Alle scriptjes doen ze zo: http://198.57.224.242/~install/ |:(

Waarom niet gewoon wat shell-scriptjes uitbrengen? :?

  • Brainscrewer
  • Registratie: Juli 2009
  • Nu online
Ik kwam zonet dit tegen, het is dan geen code, maar moest er wel om lachen :)

PHP:
1
setlocale(LC_ALL, 'Dutch_Netherlands', 'Dutch', 'nl_NL', 'nl', 'nl_NL.ISO8859-1', 'nl_NL.UTF-8', 'nld_nld', 'nld', 'nld_NLD', 'NL_nl');

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 21-05 12:52

Firesphere

Yoshis before Hoshis

Ik denk dat die site Nederlands is?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 07:28
Brainscrewer schreef op woensdag 19 juni 2013 @ 12:53:
Ik kwam zonet dit tegen, het is dan geen code, maar moest er wel om lachen :)

PHP:
1
setlocale(LC_ALL, 'Dutch_Netherlands', 'Dutch', 'nl_NL', 'nl', 'nl_NL.ISO8859-1', 'nl_NL.UTF-8', 'nld_nld', 'nld', 'nld_NLD', 'NL_nl');
Zeker bang dat er eentje niet werkt 8)7

  • mbarie
  • Registratie: Mei 2011
  • Laatst online: 04-08-2021
Haha zojuist op nu.nl:


Gevolgd door een:


*mompelt iets over staging, deployment, etc.

[Voor 12% gewijzigd door mbarie op 20-06-2013 14:29]

Storyteller @ soundcloud


  • Firesphere
  • Registratie: September 2010
  • Laatst online: 21-05 12:52

Firesphere

Yoshis before Hoshis

mbarie schreef op donderdag 20 juni 2013 @ 14:24:
Haha zojuist op nu.nl:
[afbeelding]

Gevolgd door een:
[afbeelding]

*mompelt iets over staging, deployment, etc.
Vermoedelijk zat je precies in een deploymentmoment en heeft er iemand een dom deploymentmoment gekozen?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


  • mbarie
  • Registratie: Mei 2011
  • Laatst online: 04-08-2021
Dat zou ik vreemd vinden met een willekeurige break met als output 'hier'. Die internal server error is dan nog tot daar aan toe. Ik neem aan dat ze dergelijke processen onder de knie hebben, maar dit is wat mij betreft gewoon een leuke programmeerfout, danwel voorbeeld van wat je niet hoort te doen in productie :)

[Voor 10% gewijzigd door mbarie op 20-06-2013 14:49]

Storyteller @ soundcloud


  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-05 10:55

GateKeaper

#1 Procastinator

Wellicht waren ze de "Internal Server Error" aan het debuggen.

PHP:
1
<?php die('hier'); ?>

Procrastination for mr. President ! | Startup is looking for (wannabe) meteor developers. PM for info.


  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 09:28
Ik zag dat ook op Nu.nl, maar die hebben vaker van dit soort probleempjes.
Soms mist al het nieuws, en zie je wel het frame er omheen. En de andere keer staan de nieuwsberichten dubbel erin.
Het lijkt echt alsof ze testen op de real-life omgeving. :)

Speel ook Airplane Manager en Repeat


  • JapyDooge
  • Registratie: Juli 2002
  • Laatst online: 25-05 12:30

JapyDooge

NoxiousPluK

Een testomgeving is voor mietjes, toch? :P

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 00:54
Op de mobiele variant heb een op de tien keer wel een internal server error. Prut is het!

Roomba E5 te koop


  • mbarie
  • Registratie: Mei 2011
  • Laatst online: 04-08-2021
sig69 schreef op donderdag 20 juni 2013 @ 17:05:
Op de mobiele variant heb een op de tien keer wel een internal server error. Prut is het!
Ditto hier. Lijkt ondergeschoven kindje. Lijkt op iets met de cache daar. Direct een refresh en de pagina werkt weer.

Storyteller @ soundcloud


  • Xesxen
  • Registratie: Juli 2009
  • Laatst online: 25-05 14:56
PHP:
1
2
3
4
5
6
class x {
    function __construct(){
        $this->db = new Database('mysql:host=localhost;dbname=databasename',
            'username',
            'password',
...

Come'on, er is een configfile met wachtwoorden erin hoor :X

Rare vogel in spe


Anoniem: 28926

Firesphere schreef op donderdag 20 juni 2013 @ 14:36:
[...]

Vermoedelijk zat je precies in een deploymentmoment en heeft er iemand een dom deploymentmoment gekozen?
Hmm, maar dat is ook redelijk te marginaliseren door je webserver naar een "current" symlink te verwijzen, dan eerst je code te kopieren of te fetchen en daarna je symlink naar de nieuwe code te verwijzen.

Ik zou met zo'n groot publiek in ieder geval zorgen dat dit soort momenten in ieder geval zo min mogelijk voorkomen. Neemt niet weg dat er misschien evengoed wel een goede reden achter zit.

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 22-05 13:15
Na eerst meer dan 70 regels foutmeldingen:
<b>Warning</b>: imagecreatefromstring() [<a href='function.imagecreatefromstring'>function.imagecreatefromstring</a>]: Empty string or invalid image in <b>/home/gunbv/domains/<DOMAIN>.nl/public_html/catalog/model/tool/watermark.php</b> on line <b>12</b><br />
<b>Warning</b>: fopen(/home/gunbv/domains/<DOMAIN>.nl/public_html/system/logs/error.txt) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in <b>/home/gunbv/domains/<DOMAIN>.nl/public_html/system/library/log.php</b> on line <b>12</b><br />
<br />
<b>Warning</b>: fwrite(): supplied argument is not a valid stream resource in <b>/home/gunbv/domains/<DOMAIN>.nl/public_html/system/library/log.php</b> on line <b>14</b><br />
<br />
<b>Warning</b>: fclose(): supplied argument is not a valid stream resource in <b>/home/gunbv/domains/<DOMAIN>.nl/public_html/system/library/log.php</b> on line <b>16</b><br />
<b>Warning</b>: imagesx(): supplied argument is not a valid Image resource in <b>/home/gunbv/domains/<DOMAIN>.nl/public_html/catalog/model/tool/watermark.php</b> on line <b>17</b><br />
<b>Warning</b>: fopen(/home/gunbv/domains/<DOMAIN>.nl/public_html/system/logs/error.txt) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in <b>/home/gunbv/domains/<DOMAIN>.nl/public_html/system/library/log.php</b> on line <b>12</b><br />
<br />
Krijg je bij een klik met de rechter-muisknop de volgende melding:
Kopi�ren van afbeeldingen is niet toegestaan Copyright� <DOMAIN>.nl
Dan wil je het een en ander melden, krijg je:
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.bginventaris.nl:2525 (Connection refused) in /home/gunbv/domains/<DOMAIN>.nl/public_html/vqmod/vqcache/vq2-system_library_mail.php on line 171
Warning: fopen(/home/gunbv/domains/<DOMAIN>.nl/public_html/system/logs/error.txt) [function.fopen]: failed to open stream: Permission denied in /home/gunbv/domains/<DOMAIN>.nl/public_html/system/library/log.php on line 12

Notice: Error: Connection refused (111) in /home/gunbv/domains/<DOMAIN>.nl/public_html/vqmod/vqcache/vq2-system_library_mail.php on line 174
Lijkt me het melden hier meer dan waard..... :F

[Voor 16% gewijzigd door HeSitated op 19-07-2013 21:29]


  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 08-05 16:32

Kajel

Development in Style

In een webapp waar ik aan werk, moeten we wat waardes doorsturen naar een service/formulier welke niet door ons beheerd wordt. Aan die kant gebeuren er heel vreemde dingen met encoding, waardoor wij ons in bochten moeten wringen. Dit heeft geleid tot het volgende stuk code met hilarische comments van een collega van me :')

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
private void addParameter(StringBuilder builder, String name, Object value) {
        if (value == null) {
            return;
        }

        if (String.valueOf(value).trim().length() == 0) {
            return;
        }

        builder.append('&').append(name).append('=');
        // in theory, we should URL-encode the values
        // unfortunately, the customer-service form does not understand this; it apparently
        // goes through great pains 'understanding' unencoded characters, going so far as to
        // even understand the unescaped '+'.
        // therefore, we do not encode our values.
        // somewhere, an encoding-kitten is crying :'-(

        // UPDATE: it gets worse. The customer-service form doesn't understand ANY encoded value,
        // not even the lovely %20 (space); and, as said before, not the '+' either.
        // as a desparate workaround, we remove all spaces from the value; this might annoy our
        // customers, but I hope they prefer 'vanderDongen' over 'van%20der%20Dongen'.
        // The encoding-kitty is now attempting suicide.
        String encodedValue = String.valueOf(value);        // haha, look at me still calling it an encoded value
        encodedValue = encodedValue.replaceAll(" ", "");

        builder.append(encodedValue);
    }

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 08:10

Haan

dotnetter

C#:
1
2
3
4
5
6
7
8
9
10
public interface IFoo
{
    IList<IdValuePair> BarIds { get; }
}

public class IdValuePair
{
    public Guid Id { get; set; }
    public string Value { get; set; }
}


Lijkt verdacht veel op een datastructuur die standaard in .NET aanwezig is..

Kater? Eerst water, de rest komt later
Last.fm profiel


  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 16-05 16:50

Afvalzak

Zet jij mij even buiten?

Whaha, vooral die
code:
1
// haha, look at me still calling it an encoded value
. :P

Last.fm | Code Talks


  • Firesphere
  • Registratie: September 2010
  • Laatst online: 21-05 12:52

Firesphere

Yoshis before Hoshis

The poor encoding kitty! :')

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


  • mcDavid
  • Registratie: April 2008
  • Laatst online: 24-05 13:44
Kajel schreef op woensdag 24 juli 2013 @ 11:38:
In een webapp waar ik aan werk, moeten we wat waardes doorsturen naar een service/formulier welke niet door ons beheerd wordt. Aan die kant gebeuren er heel vreemde dingen met encoding, waardoor wij ons in bochten moeten wringen. Dit heeft geleid tot het volgende stuk code met hilarische comments van een collega van me :')

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
private void addParameter(StringBuilder builder, String name, Object value) {
        if (value == null) {
            return;
        }

        if (String.valueOf(value).trim().length() == 0) {
            return;
        }

        builder.append('&').append(name).append('=');
        // in theory, we should URL-encode the values
        // unfortunately, the customer-service form does not understand this; it apparently
        // goes through great pains 'understanding' unencoded characters, going so far as to
        // even understand the unescaped '+'.
        // therefore, we do not encode our values.
        // somewhere, an encoding-kitten is crying :'-(

        // UPDATE: it gets worse. The customer-service form doesn't understand ANY encoded value,
        // not even the lovely %20 (space); and, as said before, not the '+' either.
        // as a desparate workaround, we remove all spaces from the value; this might annoy our
        // customers, but I hope they prefer 'vanderDongen' over 'van%20der%20Dongen'.
        // The encoding-kitty is now attempting suicide.
        String encodedValue = String.valueOf(value);        // haha, look at me still calling it an encoded value
        encodedValue = encodedValue.replaceAll(" ", "");

        builder.append(encodedValue);
    }
geniaal!
wel goed commentaar, zo is het iig voor iedereen duidelijk waarom zo'n stuk ranzige code erin staat. Voor je het weet wordt je fix anders goed bedoeld zomaar verwijderd.

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 25-05 08:44
Haan schreef op woensdag 24 juli 2013 @ 11:52:
[...]
Lijkt verdacht veel op een datastructuur die standaard in .NET aanwezig is..
Och joh, .NET klasses (KeyValuePair) is te risky om te gebruiken. Beter zelf maken, kan niet mis lopen! :+ (Overigens is een Dictionary<Guid, String> niet hetzelfde als een List<KeyValuePair<Guid, String>>.)

  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 08-05 16:32

Kajel

Development in Style

Afvalzak schreef op woensdag 24 juli 2013 @ 12:07:
[...]


Whaha, vooral die
code:
1
// haha, look at me still calling it an encoded value
. :P
Ik verdenk mijn collega er sterk van dat hij die variabele naam expres heeft laten staan om die comment er nog even achter te kunnen plakken ;)

  • Alain
  • Registratie: Oktober 2002
  • Niet online
Gisteren heb ik een webapplicatie "gefixed" die het niet meer deed. Bleek dat er op 3 plekken hardcoded een proxy server ingesteld was. Daarnaast faalt de hele applicatie als de RSS reader niet wil laden. 8)7

Gelukkig is dit alleen een intern hebbedingetje en leveren we geen webapplicatie's. :P

You don't have to be crazy to do this job, but it helps ....


  • Phoib
  • Registratie: Februari 2003
  • Laatst online: 21-05-2014
PHP:
1
2
3
4
 function sanitize($sql) {
    //return mysql_real_escape_string($sql);
    return $sql;
}

Hoezo de programmeur deed aan veiligheid.

of in een andere class
PHP:
1
2
3
 function makeCountryDropDown() {
    return "/*Hier een string met HTML opties voor landen, slechts 10k characters lang*/";
}

Echt enig... 8)7

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur® / Cryptocurrencies

Demotivational Speaker

Sowieso een rare naam voor de parameter van sanitize(). Wat je wilt sanitizen stop je in een SQL statement, maar wat je wilt sanitizen is zelf geen SQL. Tenzij je SQL statements in je database wilt gaan stoppen oid :P

[Voor 17% gewijzigd door .oisyn op 25-07-2013 23:47]

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.


  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

HD7566 powered

SQL-statements de database in, en vervolgens kan je in jouw code de statements handig uit de database trekken om ze weer uit te voeren. Gaaf toch? :+
(en ergens bekruipt mij het gevoel dat iemand dit ooit echt zo gebouwd heeft. Waarschijnlijk in combinatie met PHP).

  • BM
  • Registratie: September 2001
  • Laatst online: 10:30

BM

Moderator Spielerij
Haan schreef op woensdag 24 juli 2013 @ 11:52:
C#:
1
2
3
4
5
6
7
8
9
10
public interface IFoo
{
    IList<IdValuePair> BarIds { get; }
}

public class IdValuePair
{
    public Guid Id { get; set; }
    public string Value { get; set; }
}


Lijkt verdacht veel op een datastructuur die standaard in .NET aanwezig is..
Been there, done that, got the t-shirt. Wat heet, zoiets heb ik gister nog gedaan :p Niet zonder reden overigens, de 1e versie gebruikte keyvaluepairs en een dictionary, maar daar werkten anderen stukjes niet goed mee samen. En dit biedt (in ons geval) nog iets meer ruimte voor uitbreidingen later ook.

Xbox
Even the dark has a silver lining


  • HMS
  • Registratie: Januari 2004
  • Laatst online: 30-01 21:26
BM schreef op vrijdag 26 juli 2013 @ 07:38:
[...]

Been there, done that, got the t-shirt. Wat heet, zoiets heb ik gister nog gedaan :p Niet zonder reden overigens, de 1e versie gebruikte keyvaluepairs en een dictionary, maar daar werkten anderen stukjes niet goed mee samen. En dit biedt (in ons geval) nog iets meer ruimte voor uitbreidingen later ook.
C#:
1
2
var dictionary = new Dictionary<Guid, string>();
IList<KeyValuePair<Guid, string>> list = dictionary.ToList();


:?

IList interface even helemaal uitgetypt voor clarity, aub geen comments over het gebruik van 'var' :Y)

[Voor 9% gewijzigd door HMS op 26-07-2013 12:15]


  • BM
  • Registratie: September 2001
  • Laatst online: 10:30

BM

Moderator Spielerij
HMS schreef op vrijdag 26 juli 2013 @ 12:14:
[...]


C#:
1
2
var dictionary = new Dictionary<Guid, string>();
IList<KeyValuePair<Guid, string>> list = dictionary.ToList();


:?

IList interface even helemaal uitgetypt voor clarity, aub geen comments over het gebruik van 'var' :Y)
Dat had gekunt, en waarschijnlijk ook wel gewerkt. Weet ook wel dat ik een omslachtige oplossing gekozen heb, maar wel 1 die in ons geval voordelen gaat hebben als we zaken aan ons systeem toevoegen :)

Xbox
Even the dark has a silver lining


  • HeSitated
  • Registratie: April 2009
  • Laatst online: 22-05 13:15
Hmm, lees even dit ;)

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 30-01 21:26
In principe had je ook nog de Tuple class kunnen gebruiken ;).
MSDN: Tuple Class (System)

edit:
Hmm, had nog niet gerefresht :P.
Wel een duidelijk verschil in performance tussen een Class en een Struct. Maar of het uitmaakt is natuurlijk wel afhankelijk van je use case. Meestal ga je die nanosecondes toch niet merken.

[Voor 59% gewijzigd door HMS op 26-07-2013 12:42]


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 21-05 13:20
Zonder 3 regels commentaar met o.a. verwijzing naar die url zou ik het sowieso weghalen als ik het tegenkwam.

  • Phoib
  • Registratie: Februari 2003
  • Laatst online: 21-05-2014
.oisyn schreef op donderdag 25 juli 2013 @ 23:47:
Sowieso een rare naam voor de parameter van sanitize(). Wat je wilt sanitizen stop je in een SQL statement, maar wat je wilt sanitizen is zelf geen SQL. Tenzij je SQL statements in je database wilt gaan stoppen oid :P
Het erge is, dit was een van de duidelijkere namen...

De rest staat vol met $r, $e, $m... ;w

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 22-05 13:15
HMS schreef op vrijdag 26 juli 2013 @ 12:39:
Wel een duidelijk verschil in performance tussen een Class en een Struct. Maar of het uitmaakt is natuurlijk wel afhankelijk van je use case. Meestal ga je die nanosecondes toch niet merken.
Om die performance vergelijking was het mij niet te doen, zeker niet meer dan een aardige bijkomstigheid.

Maar met een Tuple kun je zoveel meer dan met een KVP... :P

  • azerty
  • Registratie: Maart 2009
  • Laatst online: 10:17
Ik vraag me af waarom ik dit ooit bedacht heb -_-

code:
1
2
3
4
5
6
$SE = array("sometruerandomnamethatwillneverevereveroccurortherewillbeaproblemwiththedisplayofit");
                if($fill && $filldata["teller"] != "0"){
                    $SE = explode("|",$filldata["SE"]);
*snip*
                }               
                if($SE[0] != "sometruerandomnamethatwillneverevereveroccurortherewillbeaproblemwiththedisplayofit"){

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 23-05 21:12

NMe

Quia Ego Sic Dico.

Topicstarter
Met ruim 10k replies is dit topic intussen wel vol. Tijd voor een nieuwe!

[alg] Slechtste programmeervoorbeelden deel 5

'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.

Pagina: 1 ... 101 102 103 Laatste

Dit topic is gesloten.

Let op:
Uiteraard is het in dit topic niet de bedoeling dat andere users en/of topics aangehaald worden om ze voor gek te zetten. Lachen om je eigen code, of over dingen die je "wel eens tegengekomen bent" is prima, maar hou het onderling netjes. :)


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

Tweakers maakt gebruik van cookies

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.

Sluiten

Forum cookie-instellingen

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

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

janee

    Relevantere advertenties

    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.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee