با استفاده از این هک میتوانید لینک پروفایل کاربران رو عمومی کنین.
بطور مثال لینک عادی به صورت زیر هست:
http://MySite.iR/user/Mr.Mehdi
ولی با استفاده از این هک، لینک به شکل زیر تغییر میکنه:
http://MySite.iR/profile
فایل Engine/Engine.php رو باز کنید و به دنبال کد زیر بگردید:
} elseif ($subaction == 'userinfo') {
در بالای آن، کدهای زیر رو قرار دهید:
} elseif ($subaction == 'profile') {
// ################ Output your profile #################
if ($cstart) {
$cstart = $cstart - 1;
$cstart = $cstart * $config['news_number'];
}
$user=$member_id['name'];
$url_page = $config['http_home_url'] . "user/" . urlencode ( $user );
$user_query = "subaction=userinfo&user=" . urlencode ( $user );
if (isset ( $_SESSION['dle_sort_userinfo'] )) $news_sort_by = $_SESSION['dle_sort_userinfo'];
if (isset ( $_SESSION['dle_direction_userinfo'] )) $news_direction_by = $_SESSION['dle_direction_userinfo'];
$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, approve, fixed, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE autor = '$user' AND approve = '0' ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '$user' AND approve = '0'";
$allow_active_news = true;
$config['allow_cache'] = false;
// ################ Output your profile #################
if ($cstart) {
$cstart = $cstart - 1;
$cstart = $cstart * $config['news_number'];
}
$user=$member_id['name'];
$url_page = $config['http_home_url'] . "user/" . urlencode ( $user );
$user_query = "subaction=userinfo&user=" . urlencode ( $user );
if (isset ( $_SESSION['dle_sort_userinfo'] )) $news_sort_by = $_SESSION['dle_sort_userinfo'];
if (isset ( $_SESSION['dle_direction_userinfo'] )) $news_direction_by = $_SESSION['dle_direction_userinfo'];
$sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, approve, fixed, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE autor = '$user' AND approve = '0' ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '$user' AND approve = '0'";
$allow_active_news = true;
$config['allow_cache'] = false;
در همین فایل به دنبال کد زیر بگردید:
if ($subaction == 'userinfo') {
در بالای آن، کدهای زیر رو قرار دهید:
if ($subaction == 'profile') {
$user=$member_id['name'];
$allow_userinfo = TRUE;
include_once (ENGINE_DIR . '/modules/profile.php');
} else {
$allow_active_news = TRUE;
}
$user=$member_id['name'];
$allow_userinfo = TRUE;
include_once (ENGINE_DIR . '/modules/profile.php');
} else {
$allow_active_news = TRUE;
}
فایل Htaccess. رو باز کنید و به دنبال کد زیر بگردید:
RewriteRule ^static/(.*).html(/?)+$ index.php?do=static&page=$1 [L]
پس از آن، کد زیر رو قرار دهید:
RewriteRule ^profile(/?)+$ index.php?subaction=profile [L]
اکنون با استفاده از نمونه لینک داده شده در اول مطلب، می توانید از این هک استفاده کنین.