sql 语句问题

nosad 2005-06-14 03:23:22
我有一消息News表:id,title,content,proview
用户user表: id,username,pwd

proview 字段记录的允许查看的表的ID值 形如:2,3,5
如何用sql语句控制只有允许的用户才能查看的消息

strSQL = " Selcect * From News "………………
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nosad 2005-06-14
  • 打赏
  • 举报
回复
太感谢了楼上!
up1002 2005-06-14
  • 打赏
  • 举报
回复
更正,proview字段的写法,例如 应该是 -3-8-12-15-
up1002 2005-06-14
  • 打赏
  • 举报
回复
你需要先得到当前用户的id。
比如,存在Session里,Session("userid")

strSQL = " Selcect * From News where proview like '%" & Session("userid") & "%'"

但是,这样做有漏洞。因为例如 proview 字段的值是 3,8,12,15 的话,
userid=1 或 userid=2 或 userid=5 的人都不再可查看该新闻的名单中却能查看。
你必须改变proview字段的写法,例如写成 -3-8-12-15 ,
查询改成
strSQL = " Selcect * From News where proview like '%-" & Session("userid") & "-%'"
这样就没有上述漏洞了。
nosad 2005-06-14
  • 打赏
  • 举报
回复
楼上的谢了,那只是举个例子,在proview里面的值是不一样的,该如何写啊?
nosad 2005-06-14
  • 打赏
  • 举报
回复
请大家帮帮忙啊!谢谢谢谢了。
popcom 2005-06-14
  • 打赏
  • 举报
回复
strSQL = " Selcect * From News proview in ('2','3','5')"

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧