下面代码是我找的一个独立的func.asp文件,里面一个函数涉及到数据库访问,但是因为没有权限验证,不知道直接放在服务器里面有没有危险,烦请高手指教!
- VB.NET code
<% class cls_show Public Sub ShowPageInfo(table,id,condition,PageNo,PageSize,LinkFile) dim StrSql,TotalCount,TotalPageCount,OutStr StrSql="SELECT count("&id&") FROM "&table&" "&condition&"" Set rs = hx.Execute(StrSql) TotalCount=rs(0) Set rs=Nothing '如果记录数为0,那么退出 If TotalCount=0 Then Exit Sub End If OutStr="<P align=Center>" '如果记录数>MaxRecord,则记录数为MaxRecord if TotalCount>MaxRecord then OutStr = OutStr & Lang.item("g_022") & TotalCount & Lang.item("g_024") & " " & Lang.item("g_023") & MaxRecord & Lang.item("g_024") TotalCount=MaxRecord else OutStr = OutStr & Lang.item("g_022") & TotalCount & Lang.item("g_024") end if '得到总页数 If (TotalCount mod PageSize)=0 Then TotalPageCount=TotalCount\PageSize Else TotalPageCount=(TotalCount\PageSize)+1 End If '防止提交的page参数大于第二次提交的总页数 if PageNo>TotalPageCount then PageNo=TotalPageCount End if OutStr = OutStr & " <font color='#FF0000'>"&PageNo&"</font>/<font color='#FF0000'>"&TotalPageCount&"</font>" If PageNo>1 Then OutStr = OutStr & " <a Href='?"&LinkFile&"&PageNo=1'>"& Lang.item("g_025") & "</a>" OutStr = OutStr & " <a Href='?"&LinkFile&"&PageNo="&PageNo-1&"'>"& Lang.item("g_026") & "</a>" End If If PageNo<TotalPageCount Then OutStr = OutStr & " <a Href='?"&LinkFile&"&PageNo="&PageNo+1&"'>"& Lang.item("g_027") & "</a>" OutStr = OutStr & " <a Href='?"&LinkFile&"&PageNo="&TotalPageCount&"'>"& Lang.item("g_028") & "</a>" End If OutStr = OutStr & "</P>" Response.Write(OutStr) End Sub End class %>
------解决方案--------------------
目录有安全问题。
------解决方案--------------------
SQL语句是拼接的就可能会有SQL注入问题,尽量用参数化查询.
------解决方案--------------------
一个sql注入的安全,另外是服务器目录的安全性。
------解决方案--------------------
只是个类的话,可以这样写, 但是传参数的时候,参数要过滤。