~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/media/common/util.js

  • Committer: mattgiuca
  • Date: 2008-06-23 12:48:52 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:793
util.js: ajax_call multipart/form-data: Now randomly generates a boundary
    string instead of using a fixed one. This prevents some kind of attack
    where you write a file with that known string and break things.

Show diffs side-by-side

added added

removed removed

Lines of Context:
603
603
    }
604
604
}
605
605
 
 
606
/** Creates a random string of length length,
 
607
 * consisting of alphanumeric characters.
 
608
 */
 
609
var rand_chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ"
 
610
               + "abcdefghiklmnopqrstuvwxyz";
 
611
function random_string(length)
 
612
{
 
613
    var str = Array(length);
 
614
    var v;
 
615
    for (var i=0; i<length; i++)
 
616
    {
 
617
        v = Math.floor(Math.random() * rand_chars.length);
 
618
        str[i] = rand_chars.charAt(v);
 
619
    }
 
620
    return str.join('');
 
621
}
 
622
 
606
623
/** Makes an asynchronous XMLHttpRequest call to the server.
607
624
 * Sends the XMLHttpRequest object containing the completed response to a
608
625
 * specified callback function.
627
644
    /* A random string, for multipart/form-data
628
645
     * (This is not checked against anywhere else, it is solely defined and
629
646
     * used within this function) */
630
 
    var boundary = "48234n334nu7n4n2ynonjn234t683jyh80j";
 
647
    var boundary = random_string(20);
631
648
    var xhr = new_xmlhttprequest();
632
649
    xhr.onreadystatechange = function()
633
650
        {