ColdFusion do's and dont's

Geschreven door: op maandag 30 mei 2016

Leestijd:

­­­In Nederland maken maar weinig webontwikkelaars gebruik van onder andere ColdFusion, Sigma Solutions is daar één van. Hoewel modernere en betere ontwikkelomgevingen voor handen zijn, zoals .NET van Microsoft, waarin de nieuwste release van het Accessify WCMS is ontwikkeld, zijn er nog altijd websites en applicaties die ontwikkeld zijn in ColdFusion. Sigma Solutions raadt aan deze te migreren naar een nieuwe taal of anders om ze correct te beheren.

ColdFusion is een taal op zich, gebaseerd op Java, met z’n specifieke eigenaardigheden. Door de ervaring die Sigma Solutions heeft met ColdFusion, weten wij waar we op moeten letten en wat mogelijke valkuilen zijn. In dit artikel zal ik er enkele benoemen.

Queries

Cfqueryparam

Een veel gebruikte methode om een website te misbruiken, is SQL injection. Dit houdt in dat je een waarde stuurt naar de server, bijvoorbeeld een zoekterm of een gebruikersnaam, waarin code staat die gelezen kan worden door de database. Om dit te tegen te gaan, maak je in ColdFusion gebruik van de tag <cfqueryparam> (of query.addParam in script-based queries), bijvoorbeeld:

<cfquery>

UPDATE table SET name = <cfqueryparam = “#name#” cfsqltype=”CF_SQL_VARCHAR” maxlength=”50” />

</cfquery>

Maintain connections

Elke keer als een query wordt verzonden naar de SQL-server door ColdFusion, wordt er een nieuwe verbinding gelegd met de server. Het kost echter meer tijd om bij elke query een nieuwe verbinding te maken dan om de verbinding te behouden en dus moet je altijd maintain connections aanvinken in de instellingen va de betreffende datasource in ColdFusion Administrator. Let echter wel op, want als er wijzigingen in de databasetabellen of –views zijn, dan worden die vaak niet herkend als maintain connections aangevinkt is. In dat geval moet de optie even uitgezet worden.

SELECT TOP X

Van sommige queries wil je slechts een x aantal rijen terugkrijgen. Met CFQUERY kan je dan het attribuut maxRows gebruiken, maxRows=”50” geeft je dan maximaal 50 rijen terug. In SQL is er echter een equivalent, namelijk TOP, waarmee je hetzelfde zou kunnen bereiken met SELECT TOP 50 name FROM table. Het voordeel is dat je er hiermee voor zorgt dat de limiet al wordt toegepast op de SQL-server, voordat het naar de ColdFusion-server wordt gestuurd, hoewel de databasedriver op basis van maxRows ook zal optimaliseren. TOP werkt net iets sneller dan maxRows en indien mogelijk, is het aan te raden dat te gebruiken.

Weergeven informatie

In het volgende artikel wordt uitgelegd welke do’s en don’ts er zijn op het gebied van weergeven van informatie op je website via ColdFusion.


Andere blogartikelen

  • Waarom developers het zo leuk vinden bij ons

    Geschreven door: op woensdag 13 november 2019

    Bij ons op kantoor werkt een team van betrokken specialisten, waaronder 4 backend developers en 4 UX developers. Zij zorgen voor een belangrijk fundament binnen dit bedrijf. Een goede reden om te zorg ...

    Bekijk het artikel »
  • Beachvolleyballen voor het goede doel!

    Geschreven door: op vrijdag 25 oktober 2019

    Afgelopen vrijdag 11 oktober  hebben diverse betrokken specialisten uit ons team de handen ineen geslagen met een van onze opdrachtgevers. Samen met De Monchy International B.V. hebben we meegeda ...

    Bekijk het artikel »
  • Het gebruik van een Photoslider

    Geschreven door: op maandag 7 oktober 2019

    Ze zijn er in alle soorten en maten en staan meestal bovenaan een websitepagina. Dan heb ik het natuurlijk over photosliders. Zo bent u vast bekend met de traditionele foto die langzaam vervaagd en wa ...

    Bekijk het artikel »
Bel 072 5345 888
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd-gazellen-2018.jpg
Google analytics
partners-logo.jpg
Op de hoogte blijven?

Meld u aan voor de gratis nieuwsbrief om op de hoogte te blijven van onze activiteiten