Heim > Backend-Entwicklung > PHP-Tutorial > 求解:这种图片地址的加密方法是怎么实现的(50分)

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

WBOY
Freigeben: 2016-06-13 10:04:24
Original
1887 Leute haben es durchsucht

求解:这种图片地址的加密方法是如何实现的(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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage