Om du har för att handla i strängar, då är vitlista din bästa insats. För det första, sortDirection
borde vara ganska trivialt att vitlista:en skiftlägesokänslig jämförelse med "asc"
/ "desc"
och du borde vara inställd. För de andra skulle jag föredra att vitlista till kända kolumner , kanske genom att ange den förväntade Type
för data och validering. Men vid ett absolut tillfälle kan du begränsa med regex för att (säg) genomdriva att de alla är strängt alfanumerisk (i intervallet a-z, A-Z, 0-9 - kanske understreck om det behövs) - och lägg sedan till []
, dvs.
return string.Format("[{0}] {1}", sortColumn, sortDirection);
Men:en strikt vitlista över kända kolumner skulle vara mycket bättre, liksom en uppräkning för riktningen.