Home  >  Article  >  Backend Development  >  求解:这种图片地址的加密方法是怎么实现的(50分)

求解:这种图片地址的加密方法是怎么实现的(50分)

WBOY
WBOYOriginal
2016-06-13 10:04:241870browse

求解:这种图片地址的加密方法是如何实现的(50分)
看到一个网站是这样处理图片链接的, 求解:
例如有图片, 名为: p979977364-4.jpg
如果输入: http://www.anhhuynh.com/cdn/pub/0h3htoeyrbvs/0/null/mh/7upcxhvl93fgm-0gnob3/s10/v2/p979977364-4.jpg
刚提示错误:The page cannot be displayed because an internal server error has occurred.
但如果在后面加上: ?ts=5&tk=t3FhdyDPD0AQAWV5ExDzijXY1Br6SXguS-4o-5VVVN8= 就可以打开了图片了.
有大侠知道这是如何实现的呢? (请就以这一样图片为例, 求思路)


------解决方案--------------------
这个不是加密吧,应该是普通的APACHE urlrewrite 技术。理由URL 有 ? 和 & ,典型的靠URL GET。为了保证数据库安全,不让HACK猜出它的数据库结构,做了个MD5转换。LZ可以用FIREBUG找出它的真实地址。

真正的图片加密技术,应该是base64之类的。比如:data:image/gif;base64,R0lGODlhAQAcALMAAMXh96HR97XZ98Hf98Xg97DX97nb98Lf97vc98Tg973d96rU97ba97%2Fe96XS9wAAACH5BAAAAAAALAAAAAABABwAAAQVMLhVBDNItXESAURyDI2CGIxQLE4EADs%3D

------解决方案--------------------
他这应该用的是REWRITE技术,比如p979977364-4.jpg可能会被解释成showimage.php?ts=5&tk=t3FhdyDPD0AQAWV5ExDzijXY1Br6SXguS-4o-5VVVN8=&pid=$1&type=$2
不过,他前面的/0h3htoeyrbvs/0/null/mh/7upcxhvl93fgm-0gnob3/s10/v2可能也是规则中被使用参数的一部分比如
RewriteRul ^(.*)/cdn/pub/([a-z0-9A-Z]+)/([0-9]+)/([a-z0-9A-Z]+)/([a-z0-9A-Z]+)/([a-z0-9A-Z\-]+)/([a-z0-9A-Z]+)/([a-z0-9A-Z]+)/([a-z0-9A-Z]+)-([a-z0-9A-Z]+)\.jpg?ts=([0-9]+)&tk=([a-zA-Z0-9=\-]+) $1/cdn/pub/shoimage.php?p1=$2&p2=$3&p3=$4&p4=$5&p5=$6&p6=$7&p7=$8&p8=$9&p9=$10&ts=$11&tk=$12

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn