> 백엔드 개발 > PHP 튜토리얼 > 求解:这种图片地址的加密方法是怎么实现的(50分)

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

WBOY
풀어 주다: 2016-06-13 10:04:24
원래의
1886명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿