kolmapäev, 26. september 2012

Firefox 15.0.1 ja Eesti ID-kaart

Peale Firefoxi uuendamist ei pruugi ID-kaart enam töötada.
Näiteks pillub viga Veakood: ssl_error_handshake_failure_alert

Taas käima saamiseks kontrolli menüüst
Tööriistad -> Lisad -> Laiendused menüüst üle, et "Estonian ID- card PKCS 11 module loader" oleks lubatud


esmaspäev, 24. september 2012

trace.axd piirangu reegel UrlScani jaoks

trace.axd on fail mida võib pärida, et saada infot ASP.NET veebirakenduse parameetrite ja muutujate kohta.

Igaks juhuks võib UrlScan-iga trace.axd pärimise tõkestada et vältida selle pahatahtlikku kasutamist.
Reeglistik koosneks urlscan.ini failis järgmistest komponentidest :

RuleListi kaasame uue lisatava KeelatudAxd reegli

RuleList=SQLSystimine,XSSSystimine,KeelatudAxd

KeelatudAxd reeglis määrame ära, et skaneerime Url-ipealt ning mõjub *.axd failidele ja viitame AxdKeelatud nimekirjale


;reegel *.axd failide jaoks
[KeelatudAxd]
AppliesTo=.axd
DenyDataSection=AxdKeelatud
ScanUrl=1
DenyUnescapedPercent=1


DenyDataSection nimekirjas loetleme ülesse axd failid mille poole pöördumise keelame
;ei luba pärida trace.axd faili
[AxdKeelatud]
trace.axd


UrlScan logifailis näeb trace.axd faili poole pöördumise tõkestamine välja niimoodi

GET /trace.axd Rejected rule+'KeelatudAxd'+triggered URL - trace.axd

kolmapäev, 12. september 2012

SQL SERVER SELECT päringu parametriseeritud järjestamine erinevate andmetüüpide korral

Andmebaasi tabelis on väli text_id INT tüüpi ja title_text NVARCHAR(1000).
Kui nüüd vaja salvestatud protseduuris parameetrina ette anda mis järjestuses andmeid kätte saada tahetakse


ALTER PROCEDURE [dbo].[TEXT_ROLES_KUIDO_S]
    @sortorder TINYINT=0 --0 NIME JÄRGI 1-ID JÄRGI
AS
BEGIN
SET NOCOUNT ON
   SELECT [text_id],[title_text] FROM [dbo].[TEXT_TITLES]
            ORDER BY CASE WHEN @sortorder = 0 THEN title_text ELSE text_id END
END

siis selline lähenemine annab veateate @sortorder = 0 korral

Conversion failed when converting the nvarchar value 'Mingi tekst' to data type int.

kuna title_text-i hakatake INT andmetüübiks pöörama. Veast saab lahti, kui ORDER BY kirjutada järgmiselt

   SELECT [text_id],[title_text] FROM [dbo].[TEXT_TITLES]
      ORDER BY CASE WHEN @sortorder = 0 THEN title_text END ,
                     CASE WHEN @sortorder = 1 THEN text_id END

SQL SERVER XML andmetüübi pööramine VARCHAR(MAX)

Kui XML andmetüübi pööramisel VARCHAR(MAX) võib hakata pilduma viga

Conversion of one or more characters from XML to target collation impossible

DECLARE @tulem VARCHAR(MAX), @xmlMuutuja
SET @xmlMuutuja= ... Mingi XML tüüpi väärtus

Viga ilmneb järgneval tüübiteisendamisel
SET @tulem=CAST(@xmlMuutuja AS VARCHAR(MAX))

siis veast saab lahti kui kõigepealt pöörata NVARCHAR(MAX) ja peale seda VARCHAR(MAX)

SET @tulem=CAST(CAST(@xmlMuutuja AS NVARCHAR(MAX)) AS VARCHAR(MAX))