做个照片网站-请问如何来设计限制照片可见性 用户A设置相册的图片为"朋友可见"时,他的朋友能打开图片链接,而不是他朋友即便在浏览器打开这个图片链接也是看不到的;这个如何来设计?请大家多多讨论下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 权限设置,这个不太难吧?数据库字段设置权限,读取后跟访问者的session权限比较判断true/false 朋友和朋友间肯定有一个确认字段friend(ENUM(TRUE,FALSE))来判断是否为好友,那么查看图片的时候就根据这个字段来判断就可以了!$sql1='select * from 朋友关系表'...//执行SQL语句IF($row['friend'])//判断是朋友为TRUE,否则为FALSE; $SQL='查照片的SQL'; $PDO->query($SQL);else ECHO '对不起,您不是他的朋友'; 我的意思是:作为“朋友”在浏览器中可以查看到照片的url,如若他将这个url传给别人,让让别人没办法打开才行。参考了下腾讯相册,他们网站的私密照片url,传给其他人是可以打开看见的。我要的比腾讯更进一步的功能,就是用户登录后是可以看到他“好友”的照片,当然也就知道这些照片的URL,好友将这些照片的URL保存下来转发给别人,我的需求:是不能让别人打开(腾讯是可以打开的)。 如果图片没有做任何处理,那么知道地址就一定能在URL打开,处理方法楼上已经说了防盗链,而防盗链的处理方法也有几种,我知道可以把图片处理成二进制格式,保存到数据库,显示的时候为一个独立文件加图片头,它就只能在本站显示!外界无法引用。其他方法期待高人补充。我觉得设置.htaccess的URL的跳转应该也可以。但是没有做过.不清楚. 放入数据库也太浪费,用fread/file_get_contents什么的读入就行,这样也不知道图片的存放地址当然能控制服务器目录的话,禁止直接访问是最省资源的做法 图片放目录下,如果图片不多无所未,但是图片一多,那个占整个空间是非常之巨大的,而且如果我压缩它的话,file_get_contents还能读取吗?我觉得同样的情况,我会选压缩格式的二进制来存储图片,而不是直接放目录里,而且这样图片在服务器地址还是真实存在的。只是读取方式改变了。如果我知道图片地址。还是一样可以通过URL方式来显示的。我个人觉得放数据库从整个空间上来说可以起到节约空间作用,你可以做一个10万张图片的测试!除非你的图片也能跟着压缩。否则那个体积将是想不到的庞大。而且会日积月累。 图片很多的话,一般都是要用图片服务器的,空间是小问题,少量资金就可以解决访问者不可能知道file_get_contents读取的路径吧?就算图片拥有者也不可能知道file_get_contents可以读入zip压缩字串的,用zlib解压也可以不过总体上来说,消耗CPU(其实就是间接造成服务器日PV量降低->广告收入减少),比花钱增加存储空间更不值得所以,web编程是要考虑这点的,就是帮老板多赚点钱,嘿嘿还有一种方法,动态路径,就是根据session把图片复制到临时目录显示,session不同,临时目录就不同session结束后就把临时目录删除,不过这个也是需要更多空间的引申出来就是路径映射的方法,不用复制,根据session创造不同的“路径”,但实际上都映射到同一个地方,大型图片空间多使用这种方式,不过这个需要服务器的配合,一般无服务器控制权就很难实现 snmr_com: 觉得这种防盗链Nginx做比较适合,而apache好像不行啊 php:这句话什么意思 php循环语句 cookie问题求解啊!! multipart/form-data怎么获得文本框参数 本地机器上可以使用exec()函数,但是到了服务器上就不能执行该函数 如何用运行某个php文件来执行多个php文件 【php路径问题】问一个比较难的问题:php如何实现类似java中classpath的东西? [菜]ip进行与运算,用什么函数啊? php的问题!数据库出错! 每日取数据表里的一条数据 请教关于PHP加速问题 include后,出现乱码的问题
数据库字段设置权限,读取后跟访问者的session权限比较判断true/false
$sql1='select * from 朋友关系表'
...//执行SQL语句
IF($row['friend'])//判断是朋友为TRUE,否则为FALSE;
$SQL='查照片的SQL';
$PDO->query($SQL);
else
ECHO '对不起,您不是他的朋友';
当然能控制服务器目录的话,禁止直接访问是最省资源的做法
不过总体上来说,消耗CPU(其实就是间接造成服务器日PV量降低->广告收入减少),比花钱增加存储空间更不值得所以,web编程是要考虑这点的,就是帮老板多赚点钱,嘿嘿
还有一种方法,动态路径,就是根据session把图片复制到临时目录显示,session不同,临时目录就不同
session结束后就把临时目录删除,不过这个也是需要更多空间的
引申出来就是路径映射的方法,不用复制,根据session创造不同的“路径”,但实际上都映射到同一个地方,大型图片空间多使用这种方式,不过这个需要服务器的配合,一般无服务器控制权就很难实现