Código:
HACE CONSTAR
<br>
<br>
<br>
<br>
</center>
</b>
</font>
<cfoutput query="Query">
<font face="verdana" size="2">
<p align="justify">
Que el(la) señor(a) <b>#nombres#</b> identificado con cédula de ciudadanía No.#cedula#, de #ciudad# trabaja para esta compañía desde el #ingreso#, desempeñando actualmente el cargo de #cargo#.
<br>
<br>
<br>
Que su actual salario mensual <cfif reg is "INTEGRAL">INTEGRAL</cfif> asciende a la suma de $#salario_total# (#salario_total_letras#).
<cfset var=#variable#>
<cfif var neq 0> De los cuales $#salario_basico# (#salario_basico_letras#) corresponde a su salario <cfif reg is "INTEGRAL">INTEGRAL</cfif> y $#variable# (#variable_letras#) corresponde a el promedio de la parte variable.</cfif>
<br>
<br>
<br>
El(La) señor(a) <b>#nombres#</b> tiene contrato a termino #tipo_de_contrato#.
<br>
<br>
<br>
Se expide la presente en el lugar y fecha arriba mencionados.<br>
</cfoutput>
<br>
<br>
<br>
<br>
ahi lo modifiqé un poco, es basicamente lo mismo, solo que quitandole muchos cfoutputs innecesarios
ahora, esoty confundido, esto lo unico que hace es mostrar los datos, no se como será el resto de la pagina, pero por lo que veo (y a no ser que la URL no este definida con alguna campo de la base de datos **) no hay ningun error de seguridad (como bien dijiste, ya estaban identificados dentro de la aplicacion), ni le da cabida para modirficar algun dato
** con esto me refiero a
Estructura de la Base de datos (tabla 'datos')
ID | Nombre | Edad
1 Carlos 25
2 Manuel 30
si yo llamo al campo Manuel, nomrmalmente lo haria con alguna especie de variable
pagina.cfm?id=2
esto es demasiado inseguro ya que si yo escribo
pagina.cfm?id=2;DROP TABLE datos lo que va a hacer CF va a mostrar los datos y luego borrar la tabla, ocacionando la perdida de datos
como prevenir esto?
en nuestro cfquery
al momento de poner la condicion para llamar a la variable, en vez de poner simplemente #URL.id# usar <cfqueryparam>
que para este caso seria
<cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#URL.id#" />
asi, si el visitante escribe otra cosa que no sea un numero, va a tirar un error