rog php encrypter

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Oct 03, 2006 9:46

je suis pas sur d'avoir compris

rog

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Oct 03, 2006 9:51

rog a écrit:néanmoins j'aimerai que tu essaies de cracker ta source pour me donner ton avis sur la difficulté dans une échelle de 1 à 10

et de chronométrer le temps que tu vas passer dessus


que veux tu dire par là ? "cracker ta source"

Tu veux dire combien de temps je met pour reprendre la source d'origine à partir de ton encryptage ?


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Oct 03, 2006 10:04

yep c'est exactement ca

plus tu mettras de temps et plus je serais content (mon ego)

en plus ce sera cool de comparer avec la prochaine version

rog

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Oct 03, 2006 10:14

bon alors tu ne vas pas être super content et ton égo va en prendre un coup :wink:

je dirais dans les 28 s. :|


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Oct 03, 2006 10:16

ouch

t'as mis 28s pour decrypter $_DECODE ? et chopper la source originale du fichier ?

effectivement c'est hard

lol

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Oct 03, 2006 10:22

oui donne moi un encryptage de fichier que je ne connais pas, n'importe quoi que je puisse afficher la source ici.


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Oct 03, 2006 10:51

<? $_DECODE='wMHDwI+Xj/L18vXQ0N+8kI+GjZaYl4vf17zW383Pz8rftpOGnt+s0d+zhoqdlpGMlJaG0d++k5Pf
jZaYl4uM342ajJqNiZqb0fL10NDfq5qcl5GWnJ6T34yKj4+QjYvF35eLi4/F0NCIiIjRj5eP0pua
iZqTkI+SmpGL0Y2K0PL10NDy9dDQ36awqt+yvqbfsbCr8vXQ0N/XztbfrZqSkIma35CN35KQm5aZ
ht+Ll5aM35yQj4aNlpiXi9+RkIuWnJrR8vXQ0N/Xzdbfu5aMi42WnYqLmt+Ll5aM35yQm5rT356R
ht+Pno2L35CN356Rht+SkJuWmZaam9+Jmo2MlpCR35CZ35aL0fL10NDf39/f37aRjIuanpvT34aQ
it+Snobfk5aRlN+LkN+Ll5rfl5CSmo+emJrfkJnfi5eWjN+ckJuaxfL10NDf39/f35eLi4/F0NCI
iIjRj5eP0puaiZqTkI+SmpGL0Y2K0JWeiZ6MnI2Wj4uM0IySno2L0pmQjZKM0Y+Xj9Hy9dDQ39fM
1t+qjJrfi5eWjN+ckJua356M34+ejYvfkJnfnpGQi5eajd+PjZCbipyL0fL10NDf39/f37aZ34aQ
it+InpGL34uQ35uQ35aL34aQit+Ml5CKk5vfjZqcmpaJmt+Sht+Pmo2SloyMlpCR0fL10NDy9dDQ
36awqt+yvqby9dDQ39fO1t+qjJrfi5eWjN+ckJua35CN356Rht+SkJuWmZaam9+Jmo2MlpCR35CZ
35aL35CR34aQio3fiJqdjJaLmtHy9dDQ8vXQ0N+xsN+ovq2tvrGrpvL10NDfq5eWjN+ckJua35aM
34+NkImWm5qb392ejN+WjN3fiJaLl5CKi9+Ino2NnpGLht+Qmd+ekYbflJaRm9PfmpaLl5qN8vXQ
0N+ah4+NmoyMmpvfkI3flpKPk5aam9PflpGck4qblpGY09+diovfkZCL35OWkpaLmpvfi5DT34uX
mt+Wko+Tlpqb34iejY2ekYuWmozy9dDQ35CZ35KajZyXnpGLnp2Wk5aLht+ekZvfmZaLkZqMjN+Z
kI3fnt+Pno2LlpyKk56N34+KjY+QjJrR36aQit+ah4+NmoyMk4by9dDQ356clJGQiJOam5ia356R
m9+emI2amt+Ll56L34qMmt+Qmd+Ll5aM35yQm5rflozfnovfhpCKjd+QiJHfjZaMlNHy9fL18vWM
mougi5aSmqCTlpKWi9fP1sTy9ZqNjZCNoI2aj5CNi5aRmNe6oL6zs9bE8vWWkZagjJqL192TkJig
mo2NkI2M3dPf39/f38/WxPL1lpGWoIyai9fdm5aMj5OehqCajY2QjYzd09/O1sTy9fL10NDf0tLS
0tLfr56NjJrft6uys9/S0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS
0tLS0tLS0tLS0tLS0tLS0tLy9fL1mYqRnIuWkJHfmpGck5CMmtfbjIuejYvT39uakZvO09/bmpGb
zdby9YTy9d/fjZqLio2R393bjIuejYvX18DFpKHbmpGbzqKD25qRm87XwN7bmpGbzdbW1dbbmpGb
ztuakZvN3cTy9YLy9fL1mYqRnIuWkJHfj56NjJrX25eLkpPT39nbi5aLk5rT39nbi5qHi9Pf2due
kZyXkI2M1vL1hPL139/bj4yLjZaRmM7fwt/d2KSh2KLV2N3E8vXf39uPjIuNlpGYzd/C39jdpKHd
otXd2MTy9d/f24+RjIuNlpGY38Lf3aSh2KPdwaLdxPL139/bj5aRi56Y39/fwt/d18DF24+Mi42W
kZjOg9uPjIuNlpGYzYPbj5GMi42WkZjW1d3E8vXf39uPnouLjYzf39/C393XwMWjo4zbj5aRi56Y
1oTP086C3cTy9fL139/bj5yQkpKakYvfwt+akZyTkIya193D3tLS3dPf3dLd09/d0sHd1sTy9d/f
24+MnI2Wj4vf38LfmpGck5CMmtfdw4ycjZaPi9uPnouLjYzB3dPf3cPd09/do6PQjJyNlo+Lwd3W
xPL139/bj4yLhpOa39/fwt+akZyTkIya193DjIuGk5rbj56Li42Mwd3T393D3dPf3aOj0IyLhpOa
wd3WxPL139/bj5qHnJOKm5rfwt/d18DF24+ckJKSmpGLg9uPjJyNlo+Lg9uPjIuGk5rW3cTy9fL1
39/bj4uWi5Oa39/fwt+akZyTkIya193Di5aLk5rbj56Li42Mwd3T393D3dPf3aOj0IuWi5Oawd3W
xPL139/bj56RnJeQjd/fwt/dw57XwMWjo4zbj5aRi56Y1oTP086Cwd3E8vXf39uPl42amd/f39/C
392XjZqZo6OM1cKko6OM2KPdotXXpKGjo4zYo93BotXW3cTy9fL139/bl4uSk9/C34+NmpigjZqP
k56cmtfd0NuPmoeck4qbmtCWp93T393f3dPf25eLkpPWxPL18vXf35aZ39fbi5aLk5rf3sLC35me
k4ya1vL139/f39uLlouTmt/C34+Nmpigkp6LnJfX3dDbj4uWi5Oa0Jan3dPf25eLkpPT39uLlouT
mtbfwN/bi5aLk5qkzqLfxd/Y2MTy9fL139+Wmd/X24uah4vf3sLC35mek4ya1vL139+E8vXf39/f
24uah4vfwt+PjZqYoI2aj5OenJrX3dDD24+WkYuemMHQlqfd09/f393f3dPf25eLkpPWxPL139/f
39uLmoeL38Lfj42amKCNmo+Tnpya193Qo6OM1IPZkZ2Mj8TQlqfd09/d393T39uLmoeL1sTy9d/f
gvL18vXf35aZ39fbnpGcl5CNjN/ewsLfmZ6TjJrW8vXf34Ty9d/f39+PjZqYoJKei5yXoJ6Tk9fd
0NuPnpGcl5CN0Jan3dPf25eLkpPT39uekZyXkI2M1sTy9d/f39/bnpGcl5CNjN/C39uekZyXkI2M
pM+ixPL18vXf39/fjZqMmovX256RnJeQjYzWxPL139/f34iXlpOa39eTloyL19uW09/bh9bfwt+a
npyX19uekZyXkI2M1tby9d/f39/f39uekZyXkI2MpNuWot/C34+Nmpigkp6LnJfX3dDbj5eNmpnQ
lqfd09/bh9Pf24fW38Df24ekzqLfxd/Y2MTy9fL139/f39uekZyXkI2M38Lfno2NnoagipGWjoqa
19uekZyXkI2M1sTy9d/fgvL1gvL18vXy9dDQ39LS0tLS36qts9+5ipGci5aQkYzf0tLS0tLS0tLS
0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXy9dDQ39LS
0tLS36+ejYya36qts9/S0tLS0vL18vWZipGci5aQkd+KjZOgj56NjJrX24qNk9by9YTy9d/f25qN
jZCNoI2aj5CNi5aRmN/C35qNjZCNoI2aj5CNi5aRmNe6oLqtrbCt34PfuqCvvq2sutbE8vXf39uK
jZPfwt+Pno2MmqCKjZPX24qNk9bE8vXf35qNjZCNoI2aj5CNi5aRmNfbmo2NkI2gjZqPkI2LlpGY
1sTy9d/fjZqLio2R39uKjZPE8vWC8vXy9dDQ39LS0tLS37qHi42enIvfrJyXmpKa39LS0tLS8vXy
9ZmKkZyLlpCR34qNk6CMnJeakprX24qNk9Pf24ycl5qSmt/C39iXi4uP2Nby9YTy9d/flpnX3tfb
io2T38Lfio2ToI+ejYya19uKjZPW1tbfjZqLio2R39uMnJeakprE8vXf342ai4qNkd+WjIyai9fb
io2TpNiMnJeakprYotbfwN/bio2TpNiMnJeakprYot/F39uMnJeakprE8vWC8vXy9dDQ39LS0tLS
37qHi42enIvft5CMi9/S0tLS0vL18vWbmpmWkZrX2Kqts6C3sKyroL6vr7qxu9jT387WxPL1m5qZ
lpGa19iqrbOgt7Csq6Csq622r9jf09/N1sTy9fL1mYqRnIuWkJHfio2ToJeQjIvX24qNk9Pf25OQ
iJqN38Lfi42KmtPf24iIiN/C38/W8vWE8vXf35aZ197X24qNk9/C34qNk6CPno2Mmtfbio2T1tbW
342ai4qNkd/Y2MTy9d/f24qNk9/C39uTkIiajd/A34yLjYuQk5CImo3X24qNk6TYl5CMi9ii1t/F
39uKjZOk2JeQjIvYosTy9d/flpnf19uIiIjfwsLfqq2zoLewrKugvq+vurG739nZ34yLjY+QjNfb
io2T09/YiIiI0djW397Cwt/P1t+NmouKjZHf2IiIiNHY39Hf24qNk8Ty9d/flpnf19uIiIjfwsLf
qq2zoLewrKugrKuttq/f39nZ34yLjY+QjNfbio2T09/YiIiI0djW38LCwt/P1t+NmouKjZHfjIqd
jIuN19uKjZPT38vWxPL139+NmouKjZHf24qNk8Ty9YLy9fL10NDf0tLS0tLfuoeLjZ6ci9+vnouX
39LS0tLS8vXy9ZmKkZyLlpCR34qNk6CPnouX19uKjZPW8vWE8vXf35aZ197X24qNk9/C34qNk6CP
no2Mmtfbio2T1tbW342ai4qNkd/Y2MTy9d/f24qNk9/C35aMjJqL19uKjZOk2I+ei5fYotbfwN+a
h4+TkJua19jQ2NPf24qNk6TYj56Ll9ii1t/F376NjZ6G19bE8vXf35aZ39eNmoyai9fbio2T1t/C
wsLf2NjW356NjZ6GoIyXlpmL19uKjZPWxPL139+Wmd/XmpGb39/X24qNk9bfwsLC39jY34OD34yL
jY+QjNeakZvX24qNk9bT39jR2Nbf3sLC35mek4ya1t+ejY2ehqCPkI/X24qNk9bE8vXf342ai4qN
kd+Wko+TkJua19jQ2NPf24qNk9bE8vWC8vXy9dDQ39LS0tLS37qHi42enIvfuZaTmpGekprf0tLS
0tLy9fL1mYqRnIuWkJHfio2ToJmWk5rX24qNk9Pf25yQkYmajYvfwt++jY2ehtfW1vL1hPL139+W
mdfe19uKjZPfwt+KjZOgj56NjJrX24qNk9bW1t+NmouKjZHf2NjE8vXf39uKjZPfwt+WjIyai9fb
io2TpNiPnouX2KLW38DfmpGb15qHj5OQm5rX2NDY09/bio2TpNiPnouX2KLW1t/F39jYxPL139/b
io2T38Lf14yLjY+QjNfbio2T09/Y0djW397Cwt+ZnpOMmtbfwN/bio2T38Xf2NjE8vXf35mQjZqe
nJff19uckJGJmo2L356M39uW38LB39uH1t/bio2T38Lfj42amKCNmo+Tnpya19uW09/bh9Pf24qN
k9bE8vXf342ai4qNkd/bio2TxPL1gvL18vXy9dDQ39LS0tLS37qHi42enIvfuoeLmpGMlpCR39LS
0tLS8vXy9ZmKkZyLlpCR34qNk6Cah4vX24qNk9Pf25yQkYmajYvfwt++jY2ehtfW1vL1hPL139+W
mdfe19uKjZPfwt+KjZOgj56NjJrX24qNk9bW1t+NmouKjZHf2NjE8vXf39uKjZPfwt+WjIyai9fb
io2TpNiPnouX2KLW38DfmpGb15qHj5OQm5rX2NDY09/bio2TpNiPnouX2KLW1t/F39jYxPL139/b
io2T38Lf14yLjY+QjNfbio2T09/Y0djW397Cwt+ZnpOMmtbfwN+akZvXmoePk5CbmtfY0djT39uK
jZPW1t/F39jYxPL139+ZkI2anpyX39fbnJCRiZqNi9+ejN/blt/Cwd/bh9bf24qNk9/C34+Nmpig
jZqPk56cmtfbltPf24fT39uKjZPWxPL139+NmouKjZHf24qNk8Ty9YLy9fL10NDf0tLS0tLfuoeL
jZ6ci9+uipqNht/S0tLS0vL18vWbmpmWkZrX2Kqts6CuqrqtpqCxsLqsvL6vutjT38/WxPL1m5qZ
lpGa19iqrbOgrqq6raaguqy8vq+62N/f09/O1sTy9fL1mYqRnIuWkJHfio2ToI6Kmo2G19uKjZPT
39uajJyej5rfwt/P09/bmoeck4qbmt/C376NjZ6G19bW8vWE8vXf35aZ197X24qNk9/C34qNk6CP
no2Mmtfbio2T1tbW342ai4qNkd/Y2MTy9d/flpnf196WjIyai9fbio2TpNiOipqNhtii1tbfjZqL
io2R39jYxPL139/bio2T38Lfj42amKCMj5OWi9fY0NfZ18DenpKPxNaD2Z6Sj8TW0NjT39uKjZOk
2I6Kmo2G2KLWxPL18vXf35mQjZqenJff19uKjZPfnozf25bfwsHf24fW8vXf34Ty9d/f39/bh9/C
35qHj5OQm5rX2MLY09/bh9bE8vXf39/flpnf15aRoJ6NjZ6G19uHpM+i09/bmoeck4qbmtbW34qR
jJqL19uKjZOk25ai1sTy9d/fgvL18vXf342ai4qNkd+Wko+TkJua19uajJyej5rfwN/Y2Z6Sj8TY
38Xf2NnY09/bio2T1sTy9YLy9fL10NDf0tLS0tLfvJCRnJ6L39LS0tLS8vXy9ZmKkZyLlpCR34qN
k6CckJGcnovX252ejJrT39uNmpPW8vWE8vXf39uMnJeakprfwt+KjZOgjJyXmpKa19udnoya1sTy
9d/f25eQjIvf39/C34qNk6CXkIyL39/X252ejJrWxPL139/bj56Ll9/f38Lfio2ToI+ei5ff39fb
nZ6MmtbE8vXy9d/flpnf19uNmpOEz4LfwsLf2NDY1vL139/f39/f342ai4qNkd/d24ycl5qSmsXQ
0NuXkIyL242ak93E8vXf35qTjJrflpnf19uPnouX38LCwt/Y2Nby9d/f39/f39/f39/f342ai4qN
kd/d24ycl5qSmsXQ0NuXkIyL0NuNmpPdxPL139/f39/f35qTjJrfjZqLio2R393bjJyXmpKaxdDQ
25eQjIvQ24+ei5fQ242ak93E8vWC8vXy9dDQ39LS0tLS37GQjZKek5aFmt/S0tLS0vL18vWZipGc
i5aQkd+KjZOgkZCNkp6TloWa19uKjZPT8vXf39/f39/f39/f39/f39/f39/f39/f39uMnJeakprf
38Lf2JeLi4/Y0/L139/f39/f39/f39/f39/f39/f39/f39/biIiI39/f39/C38/T8vXf39/f39/f
39/f39/f39/f39/f39/f39uckJGJmo2L38Lfvo2NnobX1tPy9d/f39/f39/f39/f39/f39/f39/f
39/f25qMnJ6Pmt/fwt/P0/L139/f39/f39/f39/f39/f39/f39/f39/bmoeck4qbmt/C376NjZ6G
19bW8vWE8vXf39uMnJeakprfwt+KjZOgjJyXmpKa19uKjZPT39uMnJeakprWxPL139/bl5CMi9/f
38Lfio2ToJeQjIvf39fbio2T09+LjYqa09/biIiI1sTy9d/f24+ei5ff39/C34qNk6CPnouX39/X
24qNk9bE8vXf39uZlpOa39/fwt+KjZOgmZaTmt/f19uKjZPT39uckJGJmo2L1sTy9d/f246Kmo2G
39/C34qNk6COipqNht/X24qNk9Pf25qMnJ6PmtPf25qHnJOKm5rWxPL18vXf35aZ39fbjJyXmpKa
38LCwt/Y2N+Dg9/bl5CMi9/CwsLf2NjW342ai4qNkd/Y2MTy9fL139+Wmd/X24+ei5ffwsLC39jY
1vL139/f39/f342ai4qNkd/d24ycl5qSmsXQ0NuXkIyL0NuZlpOa3d/f39/f39/R39fbjoqajYbf
wN/dwNuOipqNht3fxd/d3dbE8vXf35qTjJrfjZqLio2R393bjJyXmpKaxdDQ25eQjIvQ24+ei5fQ
25mWk5rd39Hf19uOipqNht/A393A246Kmo2G3d/F393d1sTy9YLy9fL18vXQ0N/S0tLS0t+8l5qc
lN+zlpGU39LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS
0tLS0tLS0tLS0vL18vWWmd/X3pmKkZyLlpCRoJqHloyLjNfYkoagmJqLoJeanpuajYzY1tby9YTy
9d/fmYqRnIuWkJHfkoagmJqLoJeanpuajYzX24qNk9Pf25mQk5OQiN/C38rW8vXf34Ty9d/f39+W
md/X25mQk5OQiN/Dwt/P1t+NmouKjZHfmZ6TjJrE8vXy9d/f39/bio2T38Lfj56NjJqgio2T19uK
jZPWxPL139/f35aZ39feloyMmovX24qNk6TYl5CMi9ii1tbfjZqLio2R35mek4yaxPL139/f39uK
jZOk2I+ei5fYot/C35aMjJqL19uKjZOk2I+ei5fYotbfwN/bio2TpNiPnouX2KLfxd/d0N3E8vXy
9d/f39/bmY/fwt+ZjJCclJCPmpHX24qNk6TYl5CMi9ii09/Hz9Pf25qNjZGQ09/bmo2NjIuN09/K
1sTy9d/f39+Wmd/X3tuZj9bfjZqLio2R35mek4yaxPL18vXf39/f25CKi9/fwt/dt7q+u9+E24qN
k6TYj56Ll9iigt+3q6uv0M7RzqONo5HdxPL139/f39uQiovf0cLf3beQjIvF34Tbio2TpNiXkIyL
2KKCo42jkd3E8vXf39/f25CKi9/Rwt/dvJCRkZqci5aQkcXfvJOQjJqjjaORo42jkd3E8vXy9d/f
39+ZiI2Wi5rX25mP09/bkIqL1sTy9fL139/f35mQjd/X25eanpuajYzfwt/Y2MTf3pmakJnX25mP
1sTf1vL139/f34Ty9d/f39/f39uMi43fwt+ZmJqLjNfbmY/T38vPxsnW39Hf3aONo5HdxPL18vXf
39/f39+Wmd/Xj42amKCSnoucl9fd0KG3q6uvo6PQo6Ob1KOj0aOjm9Sjo4zUzc/Po6OM1LC0o6OM
1dvQlqfd09/bjIuN1tby9d/f39/f34Ty9d/f39/f39/fmZyTkIya19uZj9bE8vXf39/f39/f342a
i4qNkd+LjYqaxPL139/f39/fgvL18vXf39/f39+Wmd/Xj42amKCSnoucl9fd0KGzkJyei5aQkcWj
o4zV16OjrNTWo6OM1dDblqfd09/bjIuN09/bkp6LnJeajNbW8vXf39/f39+E8vXf39/f39/f35mc
k5CMmtfbmY/WxPL139/f39/f39+NmouKjZHfkoagmJqLoJeanpuajYzX25Kei5yXmoykzqLT39uZ
kJOTkIjSztbE8vXf39/f39+C8vXf39/fgvL18vXf39/fmZyTkIya19uZj9bE8vXf39/fjZqLio2R
35mek4yaxPL139+C8vWC8vXy9ZmKkZyLlpCR35yXmpyU19uKjZPT39uLjZ6cmt/C34uNiprW8vWE
8vXf35aZ39fbi42enJrW8vXf34Ty9d/f39+anJeQ35eLkpOakYuWi5aajNfbio2T1tPf2MOdjd/Q
wdjE8vXf39/fmZOKjJfX1sTy9d/fgvL139/bmo2NkI2gjZqPkI2LlpGY38Lfmo2NkI2gjZqPkI2L
lpGY17qguq2tsK3fg9+6oK++ray61sTy9d/f242ajIqTi9/C35KGoJiai6CXmp6bmo2M19uKjZPW
xPL139+ajY2QjaCNmo+QjYuWkZjX25qNjZCNoI2aj5CNi5aRmNbE8vXf35aZ39fbi42enJrW8vXf
34Ty9d/f39+anJeQ39uNmoyKk4vfwN/Y37C02N/F39jfvY2QlJqR2N/T39jDnY3f0MHYxPL139/f
35mTioyX19bE8vXf34Ly9d/fjZqLio2R39uNmoyKk4vE8vWC8vXy9fL10NDf0tLS0tLfvJeanJTf
s5aRlIzf0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS
0tLS0tLS0tLy9fL10NDftrGvqqvF8vXQ0PL10NDf242QkIuM39/f39/f0t+rl5rfmYqRnIuWkJHf
iJaTk9+Pno2Mmt+QkZOG34uXkIya36qts4zfi5eei9+Mi56Ni9+IlouX8vXQ0N/f39/f39/f39/f
39/f357fjIuNlpGY35mNkJLf242QkIuM356NjZ6G0fL10NDf24qNk4zf39/f39/f0t++jY2eht+c
kJGLnpaRlpGY36qts4zfmY2Qkt+Il5acl9+LkN+Mi56Ni9+LkN+Mj5abmo3fiJqdjJaLmtHy9dDQ
39uSnoff39/f39/f39Lfsp6HlpKKkt+RipKdmo3fkJnfj56Ymozfi5DfnZrfnJeanJSam9Hy9dDQ
39uIiIjf39/f39/f39Lfqq2zoLewrKugvq+vurG738Lfno+PmpGb392IiIjR3dPfqq2zoLewrKug
rKuttq/fwt+Mi42Wj9/diIiI0d3R8vXQ0N/bnJCRiZqNi9/f39/S376NjZ6G35CZ35mWk5rfnJCR
iZqNjJaQkYzR8vXQ0N/bmoeck4qbmt/f39/S376NjZ6G35CZ35GekpqM34uQ352a35qHnJOKm5qb
35mNkJLfjoqajYbR8vXQ0N/bmoeLmpGMlpCRjN/S376NjZ6G35CZ34ianY+emJrfmoeLmpGMlpCR
jNHy9dDQ8vXQ0N+wqquvqqvF8vXQ0PL10NDf25qNjZCNjN/f39/f0t+5kI2SnovF8vXQ0N/f39/f
39/f39/f39/f39uajY2QjYzfwt++jY2ehtfDj56Ymt+KjZPB38LB38OejY2eht+Qmd+djZCUmpHf
k5aRlIzB09/R0dHWxPL10NDf39/f39/f39/f39/f39/Dno2NnobfkJnfnY2QlJqR35OWkZSMwd/C
8vXQ0N/f39/f39/f39/f39/f39/fvo2NnobXw5yXmpyUmpvfio2Twd/Cwd/Dio2T356M35qHi42e
nIuam9+ZjZCS34ianY+emJrB09/R0dHWxPL10NDy9dDQ36y+sq+zut+8vrOz8vXQ0PL10NDf242a
jIqTi9/C35yXmpyUnpOT19uNkJCLjN/C376NjZ6G19iXi4uPxdDQm5CSnpaR0ZyQktDY1tPy9dDQ
39/f39/f39/f39/f39/f39/f39/bio2TjN/fwt++jY2ehtfYl4uLj8XQ0JuQkp6WkdGckJLQ2NbT
8vXQ0N/f39/f39/f39/f39/f39/f39/f25qNjZCNjNPy9dDQ39/f39/f39/f39/f39/f39/f39/O
z83L0/L10NDf39/f39/f39/f39/f39/f39/f37axu7qnoLewrKugrKuttq/T8vXQ0N/f39/f39/f
39/f39/f39/f39/fvo2NnobX2NChlpGbmofRo6OI1NvQ2N/Cwd/Y2NbT8vXQ0N/f39/f39/f39/f
39/f39/f39/fvo2NnobX2Jab2NbWxPL10NDy9dDQ36yPlpuajd+QkZOG36qts4zfmY2Qkt+bkJKe
lpHf3ZuQkp6WkdGckJLd0fL10NDfrIuejYvfmY2Qkt+qrbPf3ZeLi4/F0NCbkJKelpHRnJCS0N3R
8vXQ0N+8l5qclN+Kj9+LkN/Oz83L34ianY+emJqM0fL10NDfrIuNlo/f3YiIiNHd35mNkJLfm5CS
npaR35GekpqM0fL10NDfrZqSkIma392WkZuah9HV3d+ZjZCS36qts4zR8vXQ0N+tmpKQiZrf3Zab
3d+UmobfmY2Qkt+OipqNlpqM0fL18vWbmpmWkZrX2Laxu7qnoLewrKugvq+vurG72NPfztbE8vWb
mpmWkZrX2Laxu7qnoLewrKugrKuttq/Y09/fzdbE8vXy9ZmKkZyLlpCR35yXmpyUnpOT19uNkJCL
jNPf24qNk4zT39nbmo2NkI2M0/L139/f39/f39/f39/f39/f39/f25Keh9/f39/f39/fwt/Oz83L
0/L139/f39/f39/f39/f39/f39/f24iIiN/f39/f39/fwt/P0/L139/f39/f39/f39/f39/f39/f
25yQkYmajYvf39/fwt++jY2ehtfW0/L139/f39/f39/f39/f39/f39/f25qHnJOKm5rf39/fwt++
jY2ehtfW0/L139/f39/f39/f39/f39/f39/f25qHi5qRjJaQkYzfwt++jY2ehtfY2NPf2J6Mj9jT
39iejI+H2NPf2JyYltjT39iXi5LY09/Yl4uSk9jT39iPl4/Y09/Yj5PY1tby9YTy9d/f24uWkprf
39/fwt+SlpyNkIuWkprXi42KmtbE8vXf39uPno2Mmpvf38Lfz8Ty9d/f25qNjZCNjN/fwt++jY2e
htfY2N/Cwd++jY2ehtfW1sTy9d/f25yXmpyUmpvfwt++jY2ehtfWxPL18vXf35mQjZqenJff19uK
jZOM356M39uW38LB39uKjZPW8vXf34Ty9d/f39/bio2TjKTblqLfwt+KjZOgkZCNkp6TloWa19uK
jZPT39iXi4uP2NPf24iIiNPf25yQkYmajYvT38/T39uah5yTipua1sTy9d/f39/bmo2NkI2MpNuK
jZOi38Lfvo2NnobX1sTy9d/fgvL18vXf35mQjd/X25aRm9/C38/E39uWkZvfw9+ckIqRi9fbio2T
jNbE39uWkZvU1Nby9d/fhPL139/f35aZ39eLjZaS19uKjZOMpNuWkZui1t/CwsLf2NjW8vXf39/f
hPL139/f39/fipGMmovX24qNk4yk25aRm6LWxPL139/f39/fnJCRi5aRiprE8vXf39/fgvL18vXf
39/f0NDf0tLS0tLfuJqL37yQkYuakYuM39LS0tLS8vXy9d/f39/bmo2NkI2gjZqPkI2LlpGY38Lf
mo2NkI2gjZqPkI2LlpGY17qguq2tsK3fg9+6oK++ray61sTy9d/f39/bl4uSk9/C35mWk5qgmJqL
oJyQkYuakYuM19uKjZOMpNuWkZui1sTy9d/f39+ajY2QjaCNmo+QjYuWkZjX25qNjZCNoI2aj5CN
i5aRmNbE8vXy9d/f39+Wmd/X3paMjJqL19ucl5qclJqbpNuKjZOMpNuWkZuiotbf2dnf25yXmpyU
mpuk24qNk4yk25aRm6Ki38Lf25eLkpPfwsLC35mek4ya1vL139/f34Ty9d/f39/f39uajY2QjYyk
2NiipNuKjZOMpNuWkZuiot/C39uKjZOMpNuWkZuixPL139/f39/fnJCRi5aRiprE8vXf39/fgvL1
8vXf39/f0NDf0tLS0tLfr56NjJrfqq2z39LS0tLS8vXy9d/f39/bj56NjJqb1NTE8vXf39/f24uW
i5Oa38LfmZ6TjJrE8vXf39/f24uah4vf38LfmZ6TjJrE8vXf39/fj56NjJrX25eLkpPT39uLlouT
mtPf24uah4vT39uekZyXkI2M1sTy9fL139/f39DQ39LS0tLS37qHi42enIvfvpGcl5CNjN/S0tLS
0vL18vXf39/fmZCNmp6cl9/X256RnJeQjYzfnozf25bfwsHf24fW8vXf39/fhPL139/f39/f0NDf
rZqbipya36qts/L18vXf39/f39/bht/C34+NmpigjZqPk56cmtfd0NzR1dCn3dPf3d3T39uH1sTy
9d/f39/f35aZ39fbht/Cwt/Y2N+Dg9+PjZqYoJKei5yX193Qodejo4jW1MXXwN6j0KPQ1tCn3dPf
24bW1t+ckJGLlpGKmsTy9d/f39/f35aZ39fej42amKCSnoucl9fd0KHXo6OI1tTFo9Cj0NCn3dPf
24bW1t/bht/C34qNk6CckJGcnovX24qNk4yk25aRm6LT39uG1sTy9d/f39/f39uG38Lfio2ToJGQ
jZKek5aFmtfbhtPf2JeLi4/Y09/biIiI09/bnJCRiZqNi9Pfz9Pf25qHnJOKm5rWxPL18vXf39/f
39/Q0N+8l5qclN+qrbPy9fL139/f39/flpnf196WjIyai9fbnJeanJSam6TbhqLW1vL139/f39/f
hPL139/f39/f39+Wmd/X25yXmpyUmpuk24ai38LfnJeanJTX24bW38LCwt+ZnpOMmtby9d/f39/f
39/fhPL139/f39/f39/f39uajY2QjYyk24qNk4yk25aRm6KipNuGot/C39uHxPL139/f39/f39/f
35yQkYuWkYqaxPL139/f39/f39+C8vXf39/f39+C8vXf39/f39+ak4ya35aZ39fbnJeanJSam6Tb
hqLW39uajY2QjYyk24qNk4yk25aRm6KipNuGot/C39uHxPL18vXf39/f39/Q0N++m5vfi5Dfj56N
jJrfk5aMi/L18vXf39/f39/blpGgjZCQi9/C35mek4yaxPL139/f39/fmZCNmp6cl9/X242QkIuM
356M39uW38LB39uNkJCL1vL139/f39/f39/blpGgjZCQi9/C39uWkaCNkJCL34OD34yLjY+QjNfb
htPf242QkIvW38LCwt/PxPL18vXf39/f39+Wmd/X25aRoI2QkIvf2dnflpGgno2NnobXio2ToJqH
i9fbhtbT39uah4uakYyWkJGM1tby9d/f39/f39/flpnf196WkaCejY2ehtfbhtPf24qNk4zW39nZ
39eckIqRi9fbio2TjNbfw9/bkp6H1tbf24qNk4ykot/C39uGxPL139/f34Ly9d/fgvL18vXf342a
i4qNkd++jY2ehtfdi5aSmt3fwsHfkpacjZCLlpKa14uNiprW0tuLlpKa09/dj56NjJqb3d/Cwd/b
j56NjJqb09/dnJeanJSam93fwsHfnJCKkYvX25yXmpyUmpvW1sTy9YLy9fL18vXQ0N/S0tLS0t+q
jJrftovf0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS
0tLS0tLS0tLS0tLS0vL18vXQ0N/S0tLS0t+3q7Kz39LS0tLS8vXy9cDB8vXy9cPeu7C8q6avut+X
i5KT36+qvbO2vPL139/f39/f39/f393S0NCozLzQ0Luru9+nt6uys9/O0c/fq42ekYyWi5aQkZ6T
0NC6sd3y9d/f39/f39/f39/dl4uLj8XQ0IiIiNGIzNGQjZjQq63Qh5eLkpPO0Luru9CHl4uSk87S
i42ekYyWi5aQkZ6T0ZuLm93B8vXy9cOXi5KTwfL1w5eanpvB8vXy9cOLlouTmsGzlpGU37yXmpyU
mo3D0IuWi5OawfL18vXDjIuGk5rfi4aPmsLdi5qHi9CcjIzdwfL18vWLnp2Tmt+E352QjZuajdKc
kJOTno+MmsXfnJCTk56PjJrE34Ly9fL1i5vf39/fhN+PnpublpGYxd/Pj4ffyo+H386Ph9/Pj4fE
34Ly9fL1k5bfhN+PnpublpGY0p2Qi4uQksXfzY+HxN+C8vXy9Z7Rl5qem5qN8vWE8vXf34uah4vS
m5qckI2ei5aQkcXfkZCRmsTy9d/fmZCRi9KImpaYl4vF38bPz8Ty9d/fnJCTkI3F39zPz8/Pvs/E
8vWC8vXy9Z7RnY2QlJqR8vWE8vXf34uah4vSm5qckI2ei5aQkcXfkZCRmsTy9d/fnJCTkI3F39zP
z8nPz8/E8vWC8vXy9cPQjIuGk5rB8vXy9cOMnI2Wj4vfi4aPmsLdi5qHi9CVnomejJyNlo+L3cHy
9fL1iZ6N34ycjZCTk4yLkI/fwt+ZnpOMmsTy9fL1mYqRnIuWkJHfjJyNkJOTi5CakZvX1vL1hPL1
39+MnI2Qk5O9htfP09/Oz8/P1sTy9d/fjJyNkJOTvYbXz9Pfzs/Pz9bE8vXf35aZ39fejJyNkJOT
jIuQj9bfjJqLq5aSmpCKi9fdjJyNkJOTi5CakZvX1t3T387P1sTy9YLy9fL1jJyNkJOTi5CakZvX
1sTy9fL1w9CMnI2Wj4vB8vXy9cPQl5qem8Hy9cOdkJuG35CRk5Cem8LdjJyNkJOTjIuQj9/C34uN
iprE3cHy9fL1w5fMwbOWkZTfvJeanJSajcPQl8zB8vXy9cPAj5eP8vXy9dDQ39LS0tLS37yXmpyU
37OWkZSM39LS0tLS8vXy9duNkJCLjN/f39/C376NjZ6G19ugr7Csq6TYio2T2KLT8vXf39/f39/f
39/f39/f39/f39+KjZOgkZCNkp6TloWa19ugr7Csq6TYio2T2KLT39iXi4uP2NPfqq2zoLewrKug
vq+vurG71tPy9d/f39/f39/f39/f39/f39/f34qNk6CRkI2SnpOWhZrX26CvsKyrpNiKjZPYotPf
2JeLi4/Y09+qrbOgt7Csq6Csq622r9bWxPL124qNk4zf39/f38Lfvo2NnobX26CvsKyrpNiKjZPY
otbE8vXy9duSnoePnpiajN/C39eWkYuamJqN1tugr7Csq6TYkp6Hj56YmozYosTy9ZaZ39fX26Cs
uq2puq2k2Ky6ram6raCxvrK62KLfwsLf2JOQnJ6Tl5CMi9jW34OD8vXf39/f19ugrLqtqbqtpNis
uq2puq2gsb6yutii38LC39iPl4/Sm5qJmpOQj5KakYvRjYrY1t+Dg/L139/f39fboKy6ram6raTY
rLqtqbqtoLG+srrYot/Cwt/YiIiI0Y+Xj9Kbmomak5CPkpqRi9GNitjW1vL139+Wmd/X25Keh4+e
mJqM38Hfx9bf25Keh4+emJqM38Lfx8Ty9fL125eQjIvf39/f38Lfz8Ty9ZaZ39fboK+wrKuk2IiI
iNii38LC392Mi42Wj93f1t/bl5CMi9/C37axu7qnoLewrKugrKuttq/E8vWWmd/X26CvsKyrpNiI
iIjYot/Cwt/dno+PmpGb3dbf25eQjIvfwt+2sbu6p6C3sKyroL6vr7qxu8Ty9fL125aRm5qH39/f
38Lfvo2NnobX1sTy9ZaZ39fboK+wrKuk2JaRm5qH2KLfwsLf3YyLjZaP3d/W39uWkZuah9/C376N
jZ6G19jQoZaRm5qH0aOjiNTb0NjfwsHf2NjWxPL1lpnf19ugr7Csq6TYlpGbmofYot/Cwt/dno+P
mpGb3dbf25aRm5qH38Lfvo2NnobX2NCh29DY38LB39ugr7Csq6TYlpGbmoegno+PmpGb2KLWxPL1
8vXbmoeck4qbmt/fwt+PjZqYoIyPk5aL19jQo6OM1NDY09/boK+wrKuk2IyajNii1sTy9fL125qH
i5qNkZ6T38LfloyMmovX26CvsKyrpNiah4uajZGek9ii1sTy9fL125qHi9/f39/f38Lfj42amKCM
j5OWi9fY0KOjjNTQ2NPf26CvsKyrpNiah4vYotbE8vXbmoeLpKLf39/fwt/Y2MTy9fL1242ajIqT
i9/f38LfnJeanJSek5PX242QkIuM09/bio2TjNPf25qNjZCNjNPf25Keh4+emJqM09/bl5CMi9Pf
25aRm5qH09/bmoeck4qbmtPf25qHi9bE8vXy9dDQ39LS0tLS362ajIqTi4zf0tLS0tLy9fL1wMHy
9fL1w5fLwa2ajIqTi8PQl8vB8vXy9cOLnp2TmsHy9fL1w4uNwfL139/Di5vBrZCQi9mRnYyPxJOQ
nJ6LlpCRxcPQi5vB8vXf38OLm8HDwMLboK+wrKuk2IqNk9iixMDBw9CLm8Hy9cPQi43B8vXDi43B
8vXf38OLm8G6h5qciouWkJHZkZ2Mj8SLlpKaxcPQi5vB8vXf38OLm8HDwMKRipKdmo2gmZCNkp6L
19uNmoyKk4uk2IuWkprYotPfzdPf2NHY09/Y2NbEwMHfjJqcjMPQi5vB8vXD0IuNwfL1w4uNwfL1
39/Di5vBr56YmozZkZ2Mj8Svno2MmpvFw9CLm8Hy9d/fw4ubwcPAwtuNmoyKk4uk2I+ejYyam9ii
xMDBw9CLm8Hy9cPQi43B8vXDi43B8vXf38OLm8GqrbOM2ZGdjI/EvJeanJSam8XD0IubwfL139/D
i5vBw8DC242ajIqTi6TYnJeanJSam9iixMDBw9CLm8Hy9cPQi43B8vXD0IuenZOawfL18vXDl8vB
vY2QlJqR37OWkZSMw9CXy8Hy9fL1w5CTwfL18vXDwI+Xj/L18vXQ0N/S0tLS0t+9jZCUmpHfs5aR
lIzf0tLS0tLy9fL1lIyQjYvX25qNjZCNjNbE8vWZkI2anpyX39fbmo2NkI2M356M39uW38LB39uH
1vL139+Wmd/XnJCKkYvX24fW1vL139+E8vXf39/fmpyXkN/Yw5OWwdjE8vXf39/fmpyXkN/dw57f
nJOejIzCo92Xmp6bmo2j3d+XjZqZwqPd25aj3cHd39Hfl4uSk5qRi5aLlpqM19uW1t/R393D0J7B
w52N39DB3cTy9d/f39+ZkI2anpyX39fbh9+ejN/bld/Cwd/bhtby9d/f39/f35qcl5Df3cOe35yT
noyMwqPdnY2QlJqRo93fl42amcKj3duVo93B3d/R35eLkpOakYuWi5aajNfbhtbf0d/dw9CewcOd
jd/Qwd3E8vXf39/fmpyXkN/Yw9CTlsHYxPL139+C8vXy9cDB8vXy9cPQkJPB8vXy9cPQnZCbhsHy
9cPQl4uSk8Hy9Q==
';
$_CMD='Pz48PyAKJF9DSEFSPSIiOwokX0NIQVIyPSIiOwpmb3IoJGk9MDskaTwyNTU7JGkrKykKewokX0NI
QVIuPWNocigkaSk7Cn0KZm9yKCRpPTI1NTskaT49MDskaS0tKQp7CiRfQ0hBUjIuPWNocigkaSk7
Cn0KJF9ERUNPREU2ND1iYXNlNjRfZGVjb2RlKCRfREVDT0RFKTsKJF9ERUNSWVBUPXN0cnRyKCRf
REVDT0RFNjQsJF9DSEFSMiwkX0NIQVIpOwpldmFsKCRfREVDUllQVCk7CnJldHVybjsKZGllKCk7
Cj8+Cg==
';
eval(base64_decode(stripslashes($_CMD)));
return;
?>


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Oct 03, 2006 10:52

lol

profites en bien, la V2 sera plus complexe

rog

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Oct 03, 2006 10:57

ok ;)

top chrono

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Oct 03, 2006 10:59

fin chrono:

Code: Tout sélectionner
<?php

// Copyright (C) 2005 Ilya S. Lyubinskiy. All rights reserved.
// Technical support: http://www.php-development.ru/
//
// YOU MAY NOT
// (1) Remove or modify this copyright notice.
// (2) Distribute this code, any part or any modified version of it.
//     Instead, you may link to the homepage of this code:
//     http://www.php-development.ru/javascripts/smart-forms.php.
// (3) Use this code as part of another product.
//     If you want to do it you should receive my permission.
//
// YOU MAY
// (1) Use this code or any modified version of it on your website.
//
// NO WARRANTY
// This code is provided "as is" without warranty of any kind, either
// expressed or implied, including, but not limited to, the implied warranties
// of merchantability and fitness for a particular purpose. You expressly
// acknowledge and agree that use of this code is at your own risk.


set_time_limit(0);
error_reporting(E_ALL);
ini_set("log_errors",     0);
ini_set("display_errors", 1);

// ----- Parse HTML ------------------------------------------------------------

function enclose($start, $end1, $end2)
{
  return "$start((?:[^$end1]|$end1(?!$end2))*)$end1$end2";
}

function parse($html, &$title, &$text, &$anchors)
{
  $pstring1 = "'[^']*'";
  $pstring2 = '"[^"]*"';
  $pnstring = "[^'\">]";
  $pintag   = "(?:$pstring1|$pstring2|$pnstring)*";
  $pattrs   = "(?:\\s$pintag){0,1}";

  $pcomment = enclose("<!--", "-", "->");
  $pscript  = enclose("<script$pattrs>", "<", "\\/script>");
  $pstyle   = enclose("<style$pattrs>", "<", "\\/style>");
  $pexclude = "(?:$pcomment|$pscript|$pstyle)";

  $ptitle   = enclose("<title$pattrs>", "<", "\\/title>");
  $panchor  = "<a(?:\\s$pintag){0,1}>";
  $phref    = "href\\s*=[\\s'\"]*([^\\s'\">]*)";

  $html = preg_replace("/$pexclude/iX", " ", $html);

  if ($title !== false)
    $title = preg_match("/$ptitle/iX", $html, $title) ? $title[1] : '';

  if ($text !== false)
  {
    $text = preg_replace("/<$pintag>/iX",   " ", $html);
    $text = preg_replace("/\\s+|&nbsp;/iX", " ", $text);
  }

  if ($anchors !== false)
  {
    preg_match_all("/$panchor/iX", $html, $anchors);
    $anchors = $anchors[0];

    reset($anchors);
    while (list($i, $x) = each($anchors))
      $anchors[$i] = preg_match("/$phref/iX", $x, $x) ? $x[1] : '';

    $anchors = array_unique($anchors);
  }
}


// ----- URL Functions ---------------------------------------------------------

// ----- Parse URL -----

function url_parse($url)
{
  $error_reporting = error_reporting(E_ERROR | E_PARSE);
  $url = parse_url($url);
  error_reporting($error_reporting);
  return $url;
}

// ----- Extract Scheme -----

function url_scheme($url, $scheme = 'http')
{
  if(!($url = url_parse($url))) return $scheme;
  return isset($url['scheme']) ? $url['scheme'] : $scheme;
}

// ----- Extract Host -----

define('URL_HOST_APPEND', 1);
define('URL_HOST_STRIP' , 2);

function url_host($url, $lower = true, $www = 0)
{
  if(!($url = url_parse($url))) return '';
  $url = $lower ? strtolower($url['host']) : $url['host'];
  if ($www == URL_HOST_APPEND && strpos($url, 'www.') !== 0) return 'www.' . $url;
  if ($www == URL_HOST_STRIP  && strpos($url, 'www.') === 0) return substr($url, 4);
  return $url;
}

// ----- Extract Path -----

function url_path($url)
{
  if(!($url = url_parse($url))) return '';
  $url = isset($url['path']) ? explode('/', $url['path']) : Array();
  if (reset($url) === '') array_shift($url);
  if (end  ($url) === '' || strpos(end($url), '.') !== false) array_pop($url);
  return implode('/', $url);
}

// ----- Extract Filename -----

function url_file($url, $convert = Array())
{
  if(!($url = url_parse($url))) return '';
  $url = isset($url['path']) ? end(explode('/', $url['path'])) : '';
  $url = (strpos($url, '.') !== false) ? $url : '';
  foreach ($convert as $i => $x) $url = preg_replace($i, $x, $url);
  return $url;
}


// ----- Extract Extension -----

function url_ext($url, $convert = Array())
{
  if(!($url = url_parse($url))) return '';
  $url = isset($url['path']) ? end(explode('/', $url['path'])) : '';
  $url = (strpos($url, '.') !== false) ? end(explode('.', $url)) : '';
  foreach ($convert as $i => $x) $url = preg_replace($i, $x, $url);
  return $url;
}

// ----- Extract Query -----

define('URL_QUERY_NOESCAPE', 0);
define('URL_QUERY_ESCAPE'  , 1);

function url_query($url, $escape = 0, $exclude = Array())
{
  if(!($url = url_parse($url))) return '';
  if (!isset($url['query'])) return '';
  $url = preg_split('/(&(?!amp;)|&amp;)/', $url['query']);

  foreach ($url as $i => $x)
  {
    $x = explode('=', $x);
    if (in_array($x[0], $exclude)) unset($url[$i]);
  }

  return implode($escape ? '&amp;' : '&', $url);
}

// ----- Concat -----

function url_concat($base, $rel)
{
  $scheme = url_scheme($base);
  $host   = url_host  ($base);
  $path   = url_path  ($base);

  if ($rel{0} == '/')
       return "$scheme://$host$rel";
  else if ($path === '')
            return "$scheme://$host/$rel";
       else return "$scheme://$host/$path/$rel";
}

// ----- Normalize -----

function url_normalize($url,
                       $scheme  = 'http',
                       $www     = 0,
                       $convert = Array(),
                       $escape  = 0,
                       $exclude = Array())
{
  $scheme = url_scheme($url, $scheme);
  $host   = url_host  ($url, true, $www);
  $path   = url_path  ($url);
  $file   = url_file  ($url, $convert);
  $query  = url_query ($url, $escape, $exclude);

  if ($scheme === '' || $host === '') return '';

  if ($path === '')
       return "$scheme://$host/$file"       . ($query ? "?$query" : "");
  else return "$scheme://$host/$path/$file" . ($query ? "?$query" : "");
}


// ----- Check Link ------------------------------------------------------------

if (!function_exists('my_get_headers'))
{
  function my_get_headers($url, $follow = 5)
  {
    if ($follow <= 0) return false;

    $url = parse_url($url);
    if (!isset($url['host'])) return false;
    $url['path'] = isset($url['path']) ? $url['path'] : "/";

    $fp = fsockopen($url['host'], 80, $errno, $errstr, 5);
    if (!$fp) return false;

    $out  = "HEAD {$url['path']} HTTP/1.1\r\n";
    $out .= "Host: {$url['host']}\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);

    for ($headers = ''; !feof($fp); )
    {
      $str = fgets($fp, 4096) . "\r\n";

      if (preg_match("/^HTTP\\/\\d+\\.\\d+\\s+200\\s+OK\\s*$/iX", $str))
      {
        fclose($fp);
        return true;
      }

      if (preg_match("/^Location:\\s*(\\S+)\\s*/$iX", $str, $matches))
      {
        fclose($fp);
        return my_get_headers($matches[1], $follow-1);
      }
    }

    fclose($fp);
    return false;
  }
}

function check($url, $trace = true)
{
  if ($trace)
  {
    echo htmlentities($url), '<br />';
    flush();
  }
  $error_reporting = error_reporting(E_ERROR | E_PARSE);
  $result = my_get_headers($url);
  error_reporting($error_reporting);
  if ($trace)
  {
    echo $result ? ' OK' : ' Broken' , '<br />';
    flush();
  }
  return $result;
}


// ----- Check Links -----------------------------------------------------------

// INPUT:
//
// $roots      - The function will parse only those URLs that start with
//               a string from $roots array.
// $urls       - Array containing URLs from which to start to spider website.
// $max        - Maximum number of pages to be checked.
// $www        - URL_HOST_APPEND = append "www.", URL_HOST_STRIP = strip "www.".
// $convert    - Array of file conversions.
// $exclude    - Array of names to be excluded from query.
// $extensions - Array of webpage extensions.
//
// OUTPUT:
//
// $errors     - Format:
//               $errors = Array(<page url> => <array of broken links>, ...);
//               <array of broken links> =
//                 Array(<checked url> => <url as extracted from webpage>, ...);
//
// SAMPLE CALL
//
// $result = checkall($roots = Array('http://domain.com/'),
//                    $urls  = Array('http://domain.com/'),
//                    $errors,
//                    1024,
//                    INDEX_HOST_STRIP,
//                    Array('/^index.\\w+$/' => ''),
//                    Array('id'));
//
// Spider only URLs from domain "domain.com".
// Start from URL "http://domain.com/".
// Check up to 1024 webpages.
// Strip "www." from domain names.
// Remove "index.*" from URLs.
// Remove "id" key from queries.

define('INDEX_HOST_APPEND', 1);
define('INDEX_HOST_STRIP',  2);

function checkall($roots, $urls, &$errors,
                  $max        = 1024,
                  $www        = 0,
                  $convert    = Array(),
                  $exclude    = Array(),
                  $extensions = Array('', 'asp', 'aspx', 'cgi', 'htm', 'html', 'php', 'pl'))
{
  $time    = microtime(true);
  $parsed  = 0;
  $errors  = Array('' => Array());
  $checked = Array();

  foreach ($urls as $i => $url)
  {
    $urls[$i] = url_normalize($url, 'http', $www, $convert, 0, $exclude);
    $errors[$url] = Array();
  }

  for ($ind = 0; $ind < count($urls); $ind++)
  {
    if (trim($urls[$ind]) === '')
    {
      unset($urls[$ind]);
      continue;
    }

    // ----- Get Contents -----

    $error_reporting = error_reporting(E_ERROR | E_PARSE);
    $html = file_get_contents($urls[$ind]);
    error_reporting($error_reporting);

    if (!isset($checked[$urls[$ind]]) && $checked[$urls[$ind]] = $html === false)
    {
      $errors[''][$urls[$ind]] = $urls[$ind];
      continue;
    }

    // ----- Parse URL -----

    $parsed++;
    $title = false;
    $text  = false;
    parse($html, $title, $text, $anchors);

    // ----- Extract Anchors -----

    foreach ($anchors as $i => $x)
    {
      // Reduce URL

      $y = preg_replace("/#.*/X", "", $x);
      if ($y == '' || preg_match("/^(\\w)+:(?!\/\/)/X", $y)) continue;
      if (!preg_match("/^(\\w)+:\/\//X", $y)) $y = url_concat($urls[$ind], $y);
      $y = url_normalize($y, 'http', $www, $convert, 0, $exclude);

      // Check URL

      if (!isset($checked[$y]))
      {
        if ($checked[$y] = check($y) === false)
        {
          $errors[$urls[$ind]][$y] = $x;
          continue;
        }
      }
      else if ($checked[$y]) $errors[$urls[$ind]][$y] = $x;

      // Add to parse list

      $in_root = false;
      foreach ($roots as $i => $root)
        $in_root = $in_root || strpos($y, $root) === 0;

      if ($in_root && in_array(url_ext($y), $extensions))
        if (!in_array($y, $urls) && (count($urls) < $max)) $urls[] = $y;
    }
  }

  return Array("time" => microtime(true)-$time, "parsed" => $parsed, "checked" => count($checked));
}


// ----- Use It ----------------------------------------------------------------

// ----- HTML -----

?>

<!DOCTYPE html PUBLIC
          "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>

<title>Link Checker</title>

<style type="text/css">

table { border-collapse: collapse; }

td    { padding: 0px 5px 1px 0px; }

li { padding-bottom: 2px; }

a.header
{
  text-decoration: none;
  font-weight: 900;
  color: #0000A0;
}

a.broken
{
  text-decoration: none;
  color: #006000;
}

</style>

<script type="text/javascript">

var scrollstop = false;

function scrolltoend()
{
  scrollBy(0, 1000);
  scrollBy(0, 1000);
  if (!scrollstop) setTimeout("scrolltoend()", 10);
}

scrolltoend();

</script>

</head>
<body onload="scrollstop = true;">

<h3>Link Checker</h3>

<?php

// ----- Check Links -----

$roots    = Array($_POST['url'],
                  url_normalize($_POST['url'], 'http', URL_HOST_APPEND),
                  url_normalize($_POST['url'], 'http', URL_HOST_STRIP));
$urls     = Array($_POST['url']);

$maxpages = (integer)$_POST['maxpages'];
if (($_SERVER['SERVER_NAME'] == 'localhost') ||
    ($_SERVER['SERVER_NAME'] == 'php-development.ru') ||
    ($_SERVER['SERVER_NAME'] == 'www.php-development.ru'))
  if ($maxpages > 8) $maxpages = 8;

$host     = 0;
if ($_POST['www'] == "strip" ) $host = INDEX_HOST_STRIP;
if ($_POST['www'] == "append") $host = INDEX_HOST_APPEND;

$index    = Array();
if ($_POST['index'] == "strip" ) $index = Array('/^index.\\w+$/' => '');
if ($_POST['index'] == "append") $index = Array('/^$/' => $_POST['index_append']);

$exclude  = preg_split('/\\s+/', $_POST['ses']);

$external = isset($_POST['external']);

$ext      = preg_split('/\\s+/', $_POST['ext']);
$ext[]    = '';

$result   = checkall($roots, $urls, $errors, $maxpages, $host, $index, $exclude, $ext);

// ----- Results -----

?>

<h4>Result</h4>

<table>

<tr>
  <td>Root&nbsp;location:</td>
  <td><?=$_POST['url'];?></td>

</tr>
<tr>
  <td>Execution&nbsp;time:</td>
  <td><?=number_format($result['time'], 2, '.', '');?> secs</td>
</tr>
<tr>
  <td>Pages&nbsp;Parsed:</td>
  <td><?=$result['parsed'];?></td>

</tr>
<tr>
  <td>URLs&nbsp;Checked:</td>
  <td><?=$result['checked'];?></td>
</tr>
</table>

<h4>Broken Links</h4>

<ol>

<?php

// ----- Broken Links -----

ksort($errors);
foreach ($errors as $i => $x)
  if (count($x))
  {
    echo '<li>';
    echo "<a class=\"header\" href=\"$i\">" . htmlentities($i) . "</a><br />";
    foreach ($x as $j => $y)
      echo "<a class=\"broken\" href=\"$j\">" . htmlentities($y) . "</a><br />";
    echo '</li>';
  }

?>

</ol>

</body>
</html>



rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mar Oct 03, 2006 11:07

bravo

ça m'oblige à faire une release anticipée

lol

mais faut que j'y reflechisse tranquilement, je ne tiens pas à avoir la honte une deuxième fois

rog

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Oct 03, 2006 11:55

rog a écrit:mais faut que j'y reflechisse tranquilement, je ne tiens pas à avoir la honte une deuxième fois

rog

"Le sage a honte de ses défauts, mais n'a pas honte de s'en corriger."
Confucius


yborean
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 309
Inscription: 6 Sep 2006

Message le Mer Oct 04, 2006 21:13

il existe des obfusquateurs de code gratuits qui font très bien le boulot.

je ne comprends pas l'intérêt d'obfusquer du php...

c'est un language fortement imprégné par la philosophie du libre et de l'open source. et c'est aussi un langage suffisemment simple pour trouver une multitude de scripts qui ont plus ou moins les memes fonctionnalités...

à quand le crypteur d'html ?


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mer Oct 04, 2006 21:56

en fait je code des applications et des webmin

webmin pour vmware/linux host/windows guest
webmin pour rsync server/linux

etc

et j'aimerai bien proteger mes sources sans me ruiner ni installer d'extensions supplémentaires

la v2 sera differente, je vais essayer d'exploiter les caracteres invisibles de la table ascii en esperant qu'un copier/coller de clefs ne fonctionnera pas dans le cadre d'une reversion d'arguments

rog


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Oct 05, 2006 8:18

yborean a écrit:à quand le crypteur d'html ?


Il en existe déjà plusieurs en JS, mais si le JS est désactivé du navigateur, le site ne s'ouvre pas.

rog php encrypter

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité