<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for hereticmessiah</title>
    <link>http://www.advogato.org/person/hereticmessiah/</link>
    <description>Advogato blog for hereticmessiah</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Wed, 22 May 2013 06:59:16 GMT</pubDate>
    <item>
      <pubDate>Mon, 31 Jan 2005 21:47:23 GMT</pubDate>
      <title>31 Jan 2005</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=22</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=22</guid>
      <description>'Lo, kids! I've got another algorithm I want to idiot check. This one's a way of ensuring that a bunch of data passed in a form can't be tampered with easily.

&lt;p&gt; Ok. Say you're pulling some bunch of data in response to a search from some external source. Some of this data includes things like prices, discounts, and the like. It's not important that this information is invisible to a potential (malicious or otherwise) user, but it's important that it can't be tampered with. Because there's no easy way for the receiving page to validate the data, we need to mark it somehow.

&lt;p&gt; A checksum is out of the question: too easy. However, the software is web-based, so we could store some kind of a hidden key in a session variable. We could then concatenate the contents of each one of the form fields that must not be alterable, and append the hidden key onto the start or end. We could then hash the resulting string to generate a fingerprint to be passed with the form. Checking the code would mean reassembling the string from the form fields and the key, hashing the result, and comparing it to the fingerprint.

&lt;p&gt; The hidden key would have to be something fairly random, like a fairly strong random number generator, or even a UUID. It's not sufficient to use one single static key for the whole application, as this could be too easily found out. Nor is it ideal to have a periodically (regenerated after the application times out from lack of use) refreshed one. Though the latter might suffice, it's still potentially shared between a large number of hosts, and could be cracked by somebody determined enough.

&lt;p&gt; So a session is the only way. This is tied to one client, and even if some kind of attack is made to try to decipher the key, throttling could be put in place to make sure they can't do much, and if they do they'll be noticed.

&lt;p&gt; So, does anybody see any flaws in this? It's a simple enough (and frankly, fairly obvious) scheme. I'd be unsurprised if I'm not the first person to come up with this.

&lt;p&gt; I'd appreciate any feedback.</description>
    </item>
    <item>
      <pubDate>Sun, 16 Jan 2005 03:39:34 GMT</pubDate>
      <title>16 Jan 2005</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=21</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=21</guid>
      <description>Ooh! &lt;a href="http://www.advogato.org/person/badvogato/" &gt;badvogato&lt;/a&gt; rated me as master! I'm not sure I deserve it though. And kudos to &lt;a href="http://www.advogato.org/person/MartySchrader/" &gt;MartySchrader&lt;/a&gt; for certifying me too.

&lt;p&gt; Having has a crappy fortnight struggling to interface with &lt;a href="" &gt;Cendant&lt;/a&gt;'s Galileo system for work (partly because it's sadistic, and partly because I'm stupid), and a whole bunch of other crappy work-related crap, I'm now sweating like a pig, sitting behind the counter of a boiling hot gaming caf&#xE9;. I've been run off my feet all day, and now all I want to do is sleep. Helping out friends sucks! :-)

&lt;p&gt; Meanwhile, I'm finding hacking on the software to drive the &lt;a href="http://www.advogato.org/proj/FusionWiki/" &gt;FusionWiki&lt;/a&gt; site more fun than hacking on the project itself! The small CMS I started hacking together is beginning to take on a life of its own!</description>
    </item>
    <item>
      <pubDate>Thu, 13 Jan 2005 18:57:45 GMT</pubDate>
      <title>13 Jan 2005</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=20</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=20</guid>
      <description>Well, I've recertified everybody who I'd given certification to in the past, but, of course, the old certifications I got still aren't showing up. Thanks to &lt;a href="http://www.advogato.org/person/gilbou/" &gt;gilbou&lt;/a&gt; and &lt;a href="http://www.advogato.org/person/salmoni/" &gt;salmoni&lt;/a&gt; for certifying me as Journeyer.</description>
    </item>
    <item>
      <pubDate>Thu, 13 Jan 2005 01:52:41 GMT</pubDate>
      <title>13 Jan 2005</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=19</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=19</guid>
      <description>Something very, very odd's after happening.

&lt;p&gt; Very odd. Worrying, even.

&lt;p&gt; My Advogato account disappeared.

&lt;p&gt; Not completely, mind you.

&lt;p&gt; &lt;a href="http://www.advogato.org/proj/FusionWiki/" &gt;FusionWiki&lt;/a&gt; was still listed with me as lead developer. Quite odd.

&lt;p&gt; So I created a new account under the same name, and lo and behold, all my diary entries were still there.

&lt;p&gt; But all the certification was gone. Disappeared. Kaput.

&lt;p&gt; Any of the certification I'd given to others was gone, and all the certification I'd got was gone.

&lt;p&gt; And all this happened without any notice.

&lt;p&gt; So, did &lt;a href="http://www.advogato.org/proj/mod_virgule/" &gt;mod_virgule&lt;/a&gt; cough up a furball, or did I say something?

&lt;p&gt; Hrumph!</description>
    </item>
    <item>
      <pubDate>Thu, 30 Dec 2004 06:56:09 GMT</pubDate>
      <title>30 Dec 2004</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=18</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=18</guid>
      <description>I really need to get my shit together and just do stuff rather than procrastinating all the time. Come to think of it, what am I doing here? I'm supposed to be hacking some webservices together. :-(

&lt;p&gt; Preemptive new year's resolution: cut back on the number of feeds and mailing lists I'm on until I feel I'm productive again. Less bloody browsing! And worship &lt;a href="http://www.43folders.com/" &gt;Merlin Mann&lt;/a&gt; as the god he surely is. And read &lt;a href="http://www.gapingvoid.com/" &gt;Gaping Void&lt;/a&gt; a bit more</description>
    </item>
    <item>
      <pubDate>Thu, 30 Dec 2004 06:50:38 GMT</pubDate>
      <title>30 Dec 2004</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=17</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=17</guid>
      <description>I've thrown up &lt;a href="http://www.advogato.org/proj/FusionWiki/" &gt;FusionWiki&lt;/a&gt;, my quick hack of a ColdFusion wiki, up on sourceforge. The code is currently crap, but bear in mind that it was originally written in a couple of hours just because I needed a ColdFusion wiki that generated decent markup.

&lt;p&gt; The current codebase is now happily sitting in its CVS repository, and I hope to start doing more work on it soon.</description>
    </item>
    <item>
      <pubDate>Mon, 4 Oct 2004 02:17:18 GMT</pubDate>
      <title>4 Oct 2004</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=16</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=16</guid>
      <description>Did I mention that I started working again about a month and a half ago? Probably not. Well, &lt;a href="http://www.digital-crew.com/" &gt;I have&lt;/a&gt;.</description>
    </item>
    <item>
      <pubDate>Mon, 12 Jul 2004 14:32:39 GMT</pubDate>
      <title>12 Jul 2004</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=15</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=15</guid>
      <description>I. Have. A. Gmail. Account!</description>
    </item>
    <item>
      <pubDate>Thu, 8 Jul 2004 16:27:46 GMT</pubDate>
      <title>8 Jul 2004</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=14</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=14</guid>
      <description>As part of Job Search 2004, I&amp;rsquo;m resubscribing to the Open lists (you&amp;rsquo;ll know them if you&amp;rsquo;re an Irish developer) to see what jobs are about. Here goes nothing!</description>
    </item>
    <item>
      <pubDate>Wed, 7 Jul 2004 20:43:40 GMT</pubDate>
      <title>7 Jul 2004</title>
      <link>http://www.advogato.org/person/hereticmessiah/diary.html?start=13</link>
      <guid>http://www.advogato.org/person/hereticmessiah/diary.html?start=13</guid>
      <description>Woohoo! I&amp;rsquo;ve got the lads at Digital Crew to set up a datasource for me, so now I can work on getting &lt;a href="http://talideon.com/linklog/" &gt;my linklog&lt;/a&gt; up and running. About time too!

&lt;p&gt; I&amp;rsquo;ve decided I&amp;rsquo;m going to write that Advogato Poster myself. I found &lt;a href="http://xmlrpc-c.sourceforge.net/" &gt;XMLRPC-C&lt;/a&gt; back last in June 2003, and I&amp;rsquo;ve been hacking with &lt;a href="http://wxwidgets.org/" &gt;wxWidgets&lt;/a&gt; recently. The basic app shouldn&amp;rsquo;t be all that difficult to knock together, I think, but I just need a box to build it all on. Seeing as my project box in college hasn&amp;rsquo;t been wiped by the admins yet, I think I might do it there.

&lt;p&gt; And meanwhile, having finished my degree, jobsearching in Cork...</description>
    </item>
  </channel>
</rss>
