50 PHP dosyaları ve bu "script" ile gelen bir. Htaccess dosyası var ise, büyük olasılıkla ilk onlara akar programlama yolunu bulmak gerekecek. Eğer. Htaccess dosyasına bir göz atacak olursak, bir PHP dosyası adı ile bitirmesi gereken bazı ModRewrite satırları görmelisiniz. Yani kalıcı bağlantıları alıcı (ve çözme) bulunuyor senaryo. Bu dosya kalıcı yapısı yeniden yazmak için bir kanca için aramaya başlamak için iyi bir yer olurdu. Eğer kaynak kodu gönderirken (veya bir yerde pastebin gibi koymak ve bağlantı sonrası) bu dosya için olsaydı, ben bir göz atın mutluluk duyarım.
Diğer yorumlar birinden bu komut en azından bir parçası gibi Smarty PHP şablon motoru kullanıyor geliyor. Eğer öyleyse "cache", "şablonlar", ve "templates_c" klasörleri (veya benzeri) içeren bir klasör bulabilirsiniz eğer, siz de o birini ekarte edebilirsiniz; bu sayfayı göstermek için kullanılan şablonlar değil, decode / kodlamak komut herhangi olacaktır.
EDIT: senin. Htaccess dosyasına baktığımızda, satır 29 makale kalıcı bağlantılarınız ile uğraşan edilecek birine bakar ve bu view.php
işaret ve {[(2 içine permalink ne dönüştürür )]} ve title
değişkenleri GET. Sen, ve biz oradan gideriz eğer view.php
kaynağını gönderebilir.
EDIT 2 Tamam, view.php
bakarak biraz daha fikir kazandı. Öncelikle hangi hiçbir çözme işlevi olmasıdır; Answerscript motor derhal permalink bir 'title' kısmını atar ve sadece kimliği tarafından bir soru URL sorgusu boru aşağıdaki (sayı kadar görünüyor, siz bir şey URL başlık kısmını değiştirerek kendi demo sayfasında bu kanıtlayabilirim Başka, ve hala) sağ sayfayı almak olacaktır. Yani, iyi haber kodlama işlevini değiştirmek güncelleştirilmesi gereken hiçbir çözme işlevi var olmasıdır. Ne yazık ki bu şifreleme işlevi komut nerede olduğunu bize anlatmak için çok az şey yapar.
Sadece ipucu view.php
dosya Ben küstah include/functions/import.php
adlı bir dosya içerir ki does_post_exist($PID)
, update_last_viewed($PID)
için fonksiyon tanımları var , update_your_viewed($USERID)
ve update_viewcount_question($PID)
. En ithal için kullanılan olurdu orada başka işlevleri varsa bu dosyanın kaynağı görmek için görelim. Ayrıca, kaç dosya include/functions/
klasörde? Sadece birkaç varsa, bütün kaynaklarını yayınlamak; olası kodlama fonksiyonu vardır tanımlanır. Bir demet varsa, (tersi, yani import.php
view.php
tarafından kullanılan) bu klasörde bir export.php
dosyası var mı? Büyük olasılıkla kodlama işlevi olduğu gibi bu dosyanın kaynağını gönderebilir.
main.php
orada fonksiyonları bir üçlü var dosyası: EDIT 3 İşte oradalar, insert_seo_clean_titles
seo_clean_titles
, ve {[(4)] }. insert_seo_clean_titles
Smarty şablon içinde çağrılacak bir işlev (yani kullanılan nerede {insert name="seo_clean_titles"
görmek için bir .tpl
uzantısına sahip tüm dosyaları aramak), ve seo_clean_titles
ve seo_clean_titles2
arasındaki fark, ikinci return
bu s iken ilk echo
, sonucunu es olmasıdır. Ancak, her üç tire için başlık tüm boşlukları dönüm olmalıdır hattını $title = str_replace(" ", "-", $title);
, var. Eğer bu sonucu görmüyorsanız, büyük olasılıkla kod doğru yerlerde bu işlevleri çağırarak değil. Tüm .php
dosyaları arama ve başka bir yerde seo_clean_titles
veya seo_clean_titles2
bir çağrı olmadığını görmek ve emin sonuç gerçekte olarak kullanılan yapabilirsiniz son URL.
Edit 4 tüm URL'lerin sonuna ". Html" eklemek için: Burada soru sayfaya bağlantı şablon dosyasında çizgi:
<a href="{$baseurl}/{$ques[i].seo}/{$title}|{$ques[i].PID}">{$ques[i].title|stripslashes}</a>
O değiştirin:
<a href="{$baseurl}/{$ques[i].seo}/{$title}|{$ques[i].PID}.html">{$ques[i].title|stripslashes}</a>
ve bağlantıları ucunda. "html" olacak. Önce sağ $pid = intval($ph);
, aşağıdaki yerleştirin: Daha sonra kimlik numarasını ayrıştırma zaman tekrar kapalı view.php
". Html" şerit değiştirmeniz gerekir:
if (strtolower(substr($pid, -5)) == ".html") $pid = substr($pid,0,-5); // Remove ".html" if it exists
İşte bunu yapmalıyım!