Friday, 2009-07-10

ii_logAnnouncement from my owner (grantc): #ingres planetingres01:49
Vroomfondlehrm02:06
Vroomfondlehas the Ingres driver always done prepared statements / placeholders, or is that a new thing?02:07
Vroomfondlewe're not using them, and I'd always assumed that that was because the driver didn't have that functionality, but I notice they seem to be in use in the demo code on the wiki02:07
grantcplaceholders have been around for sometime, 2-3+ years02:09
grantcprepare/execute is newer but uses ? as well02:10
grantcassuming we are talking about PHP here...02:10
Vroomfondleyeah02:10
grantcwith ingres 9.1.x and newer the driver will fetch the column types from the server so it will match the PHP types with the Ingres types...02:11
Vroomfondlewe're still on 2.602:11
grantcok then you might need to pass an additional parameter that describes the types02:11
grantchttp://es.php.net/ingres_query - see the types section02:12
grantcand example #302:12
Vroomfondlek02:14
* Vroomfondle tries to think of a way of explaining the benefits of this approach to a manager who doesn't seem to be able to get his head around the concept of injection attacks etc.02:15
pboroit also helps in performance (in certain situations)02:16
grantcgoogle ilia php security02:16
Vroomfondle(he's the lead developer for the web system so I'll need to get him to agree to any change)02:16
ii_loghttp://ilia.ws/files/phptek2007_secpitfalls.pdf02:16
grantcin fact all the presentations on http://ilia.ws are worth a read02:16
grantche has perf as well as security02:17
VroomfondleI shall forward that, thanks02:17
grantcre-performance not sure there will be much if any performance improvement unless you move to a newer Ingres release02:17
grantcprepared statements are not cached like repeated02:18
pboroare repeated cached always or only when cache_dynamic is enabled?02:21
grantconly with cache_dynamic02:22
grantcwhich can be switched on in the session or at the server level i believe (not having used the feature myself)02:22
pborook, so no that in 2.6 either02:22
pboroI tried it couple months ago, it was pretty buggy :/02:23
pboroiirc Alex told me that they are aware of the problems and are trying to get it fixed02:23
grantcwithdefault could tell us more since he was one of the drivers for the feature02:24
pborowhich reminds me that I should try the latest 9.2 SPARC patch on my testbed02:29
pborodamn... I thought I could create a "bugs fixed in patch x since patch y" web page automatically, but readme's in ESD require logins02:47
* Vroomfondle fires off a couple of politely-worded emails about security practices and placeholders, and prepares for a bit of a fight02:56
pboroit's sad you have to fight to get things done right02:57
grantcperhaps your bosses should google for sql injection02:57
grantc@google sql injection02:57
ii_loggrantc: SQL injection - Wikipedia, the free encyclopedia: <http://en.wikipedia.org/wiki/SQL_injection>; SQL Injection Attacks by Example: <http://unixwiz.net/techtips/sql-injection.html>; SecuriTeam - SQL Injection Walkthrough: <http://www.securiteam.com/securityreviews/5DP0N1P76E.html>; YouTube - SQL Injection: <http://www.youtube.com/watch?v=MJNJjh4jORY>; SQL Injection: <http://msdn.microsoft.com/en- (1 more message)02:57
grantcor the xkcd strip02:58
grantcgoogle bobby drop table02:58
ii_loghttp://xkcd.com/327/02:58
Vroomfondlegrantc: I have that pinned to my shelf02:59
Vroomfondlemy boss doesn't get it02:59
grantcsince ingres does not handle batch statements (at the moment)  - statement 1; update pay set pay=.... won't work02:59
grantcbut adding clauses to the SQL will03:00
Vroomfondleyeah03:00
Vroomfondleand we're also bringing MSSQL and Oracle into the mix, so the Ingres driver isn't always the one that's being used03:00
grantcfrom what i can gather SQL injection is the main attack vector for hacking websites03:02
Vroomfondlethus far I've been using my own custom sanitation procedure (it's basically just a str_replace which wipes out any risky characters), and I've tried to encourage others to use it but that doesn't seem to have worked03:02
Vroomfondleso I think I'm gonna just try to bring out the big guns03:02
grantcpboro, re your blog post I have emailed one of the L2 engineers to see what the possibilities are04:53
pborooh, thanks :)04:53
pboroit would make my life a bit easier (and hopefully few others' too)04:54
grantcI believe the bugs for a patch are selected in order for example:04:55
grantcselect bug_no from .... where patch_no = x04:55
grantcand probably contain and order by to sort them...04:56
pboroit would actually be pretty cool, if the listing contained rows telling each release of a patch, but I guess that's asked too much04:56
pboroI mean, the listing would be in chronological order + additional rows included for released patch numbers, then it would be really easy to start reading from right spot :)04:57
pboroexample: Bug 4343\nBug 5454\nPatch 13129 released\nBug 453\nBug 1294\nPatch 13159 released\n...  :)04:58
grantcI can only ask :)04:58
grantcsomething more along the lines of a CHANGELOG04:58
pboroI am not aware though if there's always a new patch number if a new fix is added04:58
pboroyeah04:58
grantci don't believe that final patches (since they go through iterations) can have a new fix added later on. A new fix = new patch04:59
pborook04:59
pborohmm yeah, makes sense04:59
pborointeresting stuff: http://www.slideshare.net/rawwell/dropacidpycon200905:21
grantcthis is part of this noSQL movement05:24
grantc?05:24
pborohmm no I don't think so, not at least that I knew05:25
grantcthere is a movement that is saying that relational is dead for large sets of data05:25
grantccouchdb/bigtable etc are better for managing documents05:26
grantcso the theory goes05:26
grantcgoogle noSQL05:26
ii_loghttp://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/NoSQL05:26
pboroyeah I have read about it05:26
pborothis guy is simply comparing different options05:26
pboroor... giving a short list of ideas what else there is05:27
grantcfair enough, i just skimmed the presentation05:27
pboroAhh, weekend. Bye guys! :) ->05:35
atrofastHave a good weekend pboro05:36
grantccya05:38
*** zxiiro has quit IRC05:55
*** zxiiro has joined #ingres05:55
*** zxiiro has quit IRC06:05
*** zxiiro has joined #ingres06:06
*** mull has joined #ingres06:47
*** Deyan has joined #ingres06:51
Deyanhello06:51
grantclo07:09
*** zxiiro has quit IRC07:49
*** zxiiro has joined #ingres07:49
*** zxiiro has quit IRC08:17
*** zxiiro has joined #ingres08:18
*** thiagomz has quit IRC08:23
*** DarylM has joined #ingres08:33
*** Alex|off is now known as Alex|08:56
*** grantc has quit IRC09:31
*** rossand has joined #ingres09:50
*** ChanServ sets mode: +o rossand09:50
*** rossand has quit IRC09:50
*** rossand has joined #ingres11:30
*** ChanServ sets mode: +o rossand11:30
*** DerMeister has joined #ingres12:51
*** Alex| is now known as Alex|off13:09
*** mull has quit IRC13:20
*** DerMeister has quit IRC14:44
*** DarylM has quit IRC15:43
*** rossand has quit IRC17:54
*** rossand has joined #ingres19:49
*** ChanServ sets mode: +o rossand19:49
*** rossand has quit IRC19:49
*** zxiiro has quit IRC21:05
*** Alex|off is now known as Alex|23:56

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!