图片站怎么防止非注册会员看

lcy5415 2007-02-28 04:23:48
一个图片站,用户要点数来看图.

怎样防止用户用flashget等工具或知道真图的路径后直接打图的网址看,

请帮说一个解决方案,谢谢!
...全文
309 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
commazhang 2007-03-01
  • 打赏
  • 举报
回复
但我认为每次都要创建Bitmap可能性能就将会有所下降啊!
artak 2007-03-01
  • 打赏
  • 举报
回复
mark
ztwz 2007-02-28
  • 打赏
  • 举报
回复
mark
hertcloud 2007-02-28
  • 打赏
  • 举报
回复
在以前公司时候做的
可以实现楼主需要

loadpic.aspx
<%@ Page language="c#" Codebehind="loadpic.aspx.cs" AutoEventWireup="false" Inherits="Wireless_Album.loadpic" codePage="936"%>
loadpic.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Imaging;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;

using joyesDB.Security;

namespace Wireless_Album
{
/// <summary>
/// loadpic 的摘要说明。
/// </summary>
public class loadpic : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
//const int MaxLength=150; //最大长度
//imgsrc();
if (Request.QueryString["key"]==null || Request.QueryString["key"]==string.Empty)
{
Response.Redirect("index.aspx",true);
}
else
{
//取得原图
string filename=Server.UrlDecode(Request.QueryString["key"]);
Des sc=new Des();
//Response.Write("<script>alert('"+filename +"');</script>");
filename=sc.Decrypt(filename,"joyescom");
//Response.Write("<script>document.write('"+filename +"');</script>");
Bitmap bmpOld= new Bitmap(Server.MapPath(filename));
Response.Clear();
//输出图片
bmpOld.Save(Response.OutputStream, ImageFormat.Jpeg);
bmpOld.Dispose();
Response.End();
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}
//两两前的代码...
使用页面
<img src="http://photo.joyes.com/loadpic.aspx?key=0B7BAAD210D2EB3E&s=big" alt="loading" />
//这里的key由后台取出的实际地址 用des可逆算法加密

效果可以看看 http://photo.joyes.com/loadpic.aspx?key=0B7BAAD210D2EB3E&s=big
syeerzy 2007-02-28
  • 打赏
  • 举报
回复
图片放在虚拟目录之外的地方.用一个专门的页面判断权限后输出
kscode 2007-02-28
  • 打赏
  • 举报
回复
你在webconfig文件里设置下不允许匿名用户浏览不就可以了.
cat_hsfz 2007-02-28
  • 打赏
  • 举报
回复
用HttpModule过滤请求,例如你用Forms验证的话就用同样的验证来过滤请求。
shadow841112 2007-02-28
  • 打赏
  • 举报
回复
mark
luck0235 2007-02-28
  • 打赏
  • 举报
回复
io即时输出用户浏览
oberserver 2007-02-28
  • 打赏
  • 举报
回复
自己写一个专门对图片的http处理程序吧
真相重于对错 2007-02-28
  • 打赏
  • 举报
回复
use httphandler
cpp2017 2007-02-28
  • 打赏
  • 举报
回复
可把图片放在虚拟目录之外的地方. 用一个专门的页面.判断权限后通过writeFile的方式输出.
lcy5415 2007-02-28
  • 打赏
  • 举报
回复
孟子E章

防盗链是不是防采集或盗链,如果是防探测器类的东西能行吗
fengyeng 2007-02-28
  • 打赏
  • 举报
回复
同意楼上的!
hertcloud 2007-02-28
  • 打赏
  • 举报
回复
这个 需要你
把真实的 图片地址隐藏掉

使用一个专门的 loadpic.aspx文件 来 读取真实图片
并输出

在这个文件里面 即可判断用户权限.
maotin 2007-02-28
  • 打赏
  • 举报
回复
UP 学习
孟子E章 2007-02-28
  • 打赏
  • 举报
回复
你可以采用图片防盗链
这里有很多源代码

http://www.google.com/search?hl=zh-CN&q=asp.net+%E9%98%B2%E7%9B%97%E9%93%BE&lr=

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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