Se avete per gestire le stringhe, quindi la white list è la soluzione migliore. Innanzitutto, sortDirection
dovrebbe essere abbastanza banale da inserire nella white list:un confronto senza distinzione tra maiuscole e minuscole con "asc"
/ "desc"
e dovresti essere a posto. Per gli altri, la mia preferenza sarebbe autorizzare le colonne conosciute , magari passando il Type
previsto per i dati e la convalida. Ma in un attimo, potresti limitare l'espressione regolare per (diciamo) far rispettare che sono tutti rigorosamente alfanumerico (nell'intervallo a-z, A-Z, 0-9 - forse trattino basso se necessario) - quindi aggiungi []
, cioè
return string.Format("[{0}] {1}", sortColumn, sortDirection);
Ma:una rigorosa lista bianca di colonne conosciute sarebbe molto meglio, così come un'enumerazione per la direzione.