Search Results

Search found 3 results on 1 pages for 'jbugeja'.

Page 1/1 | 1 

  • SQL Injection Protection for dynamic queries

    - by jbugeja
    The typical controls against SQL injection flaws are to use bind variables (cfqueryparam tag), validation of string data and to turn to stored procedures for the actual SQL layer. This is all fine and I agree, however what if the site is a legacy one and it features a lot of dynamic queries. Then, rewriting all the queries is a herculean task and it requires an extensive period of regression and performance testing. I was thinking of using a dynamic SQL filter and calling it prior to calling cfquery for the actual execution. I found one filter in CFLib.org (http://www.cflib.org/udf/sqlSafe): <cfscript> /** * Cleans string of potential sql injection. * * @param string String to modify. (Required) * @return Returns a string. * @author Bryan Murphy ([email protected]) * @version 1, May 26, 2005 */ function metaguardSQLSafe(string) { var sqlList = "-- ,'"; var replacementList = "#chr(38)##chr(35)##chr(52)##chr(53)##chr(59)##chr(38)##chr(35)##chr(52)##chr(53)##chr(59)# , #chr(38)##chr(35)##chr(51)##chr(57)##chr(59)#"; return trim(replaceList( string , sqlList , replacementList )); } </cfscript> This seems to be quite a simple filter and I would like to know if there are ways to improve it or to come up with a better solution?

    Read the article

  • Sorting XML file through multiple attributes

    - by jbugeja
    I want to sort a 'free-form' XML file through multiple attributes (first by T and then by L). The XML is a bit complex and it is structured as shown below: <?xml version="1.0" encoding="utf-8"?> <wb xmlns:cf="http://www.macromedia.com/2004/cfform" xmlns:a="urn:dummy"> <a:form name="chart"> <a:fieldset FIELD="a" FIELDNAME="FieldSet1"> <a:select1 FIELDNUMBER="01" L="1" T="2" /> <a:input FIELDNUMBER="02" INDEX="4" L="200" T="1" /> </a:fieldset> <a:fieldset FIELD="b" FIELDNAME="FieldSet1"> <a:select1 FIELDNUMBER="03" T="3" L="1" /> <a:input FIELDNUMBER="04" INDEX="7" T="4" L="200" /> <a:fieldset FIELD="c" FIELDNAME="FieldSet1"> <a:input FIELDNUMBER="05" T="10" INDEX="6" L="400" /> <a:input FIELDNUMBER="06" T="8" INDEX="8" L="200" /> </a:fieldset> </a:fieldset> <a:input FIELDNUMBER="08" INDEX="3" L="3" T="5" /> <a:input FIELDNUMBER="09" INDEX="2" L="2" T="4" /> </a:form> </wb> PS: The root element is wb and this is always followed by a:form The L and T are always found in elements that have a tag in the namespace a, the only exception being a:fieldset which does not have L and T a:fieldset could have multiple children of the namespace a including another a:fieldset We can also assume that L denotes Left and T denotes Top. So, the idea of this is that when I view the transformed XML I can immediately note which elements precede what. What's your take on this?

    Read the article

  • Sorting an XML file through XSL

    - by jbugeja
    I have an XML file that I want to sort by an attribute. The file is structured as shown below: <wb xmlns:cf="http://www.macromedia.com/2004/cfform"> <a:form name="chart"> <a:input FIELDNUMBER="09" INDEX="2" LEFT="200" /> <a:input FIELDNUMBER="08" INDEX="3" LEFT="200" /> <a:fieldset FIELD="a" FIELDNAME="FieldSet1"> <a:input FIELDNUMBER="02" INDEX="4" LEFT="200" /> <a:select1 FIELDNUMBER="01" /> </a:fieldset> <a:fieldset FIELD="b" FIELDNAME="FieldSet1"> <a:input FIELDNUMBER="04" INDEX="7" LEFT="200" /> <a:select1 FIELDNUMBER="03" /> <a:fieldset FIELD="c" FIELDNAME="FieldSet1"> <a:input FIELDNUMBER="06" INDEX="8" LEFT="200" /> <a:input FIELDNUMBER="05" INDEX="6" LEFT="200" /> </a:fieldset> </a:fieldset> </a:form> </wb> I would like to sort the above XML all throughout by @fieldnumber, but at the same I want to keep the same structure of the XML. I have managed to sort other XML file but they did not have such nesting levels. Is this possible with XSL alone and if so how can this be done? The output should be as follows: <wb xmlns:cf="http://www.macromedia.com/2004/cfform"> <a:form name="chart"> <a:input FIELDNUMBER="08" INDEX="3" LEFT="200" /> <a:input FIELDNUMBER="09" INDEX="2" LEFT="200" /> <a:fieldset FIELD="a" FIELDNAME="FieldSet1"> <a:select1 FIELDNUMBER="01" /> <a:input FIELDNUMBER="02" INDEX="4" LEFT="200" /> </a:fieldset> <a:fieldset FIELD="b" FIELDNAME="FieldSet1"> <a:select1 FIELDNUMBER="03" /> <a:input FIELDNUMBER="04" INDEX="7" LEFT="200" /> <a:fieldset FIELD="c" FIELDNAME="FieldSet1"> <a:input FIELDNUMBER="05" INDEX="6" LEFT="200" /> <a:input FIELDNUMBER="06" INDEX="8" LEFT="200" /> </a:fieldset> </a:fieldset> </a:form> </wb> As another example, should the FIELDNUMBER 04 be changed to a value greater than 7 such as 10 (let's assume 10 in this example) then the output of the fieldset with FIELD value b becomes: <a:fieldset FIELD="b" FIELDNAME="FieldSet1"> <a:select1 FIELDNUMBER="03" /> <a:fieldset FIELD="c" FIELDNAME="FieldSet1"> <a:input FIELDNUMBER="05" INDEX="6" LEFT="200" /> <a:input FIELDNUMBER="06" INDEX="8" LEFT="200" /> </a:fieldset> <a:input FIELDNUMBER="10" INDEX="7" LEFT="200" /> </a:fieldset>

    Read the article

1