//http://musicianspage.com/
###Per maintenance, attivare queste righe...
#if ($_COOKIE['PHPSESSID'] != '1ki5uopv9kladvg2btk9g141f1' and $_SERVER['REMOTE_ADDR'] != "68.96.93.113") {
# include "/home/webadmin/musicianspage.com/EXTRA_SECURE/siteoff.inc";
# exit;
#}
#print "top";
#exit;
/*
if ($PHPSESSID == '23bakqr980pv64s27qs1ppmo14') {
print "here";
exit;
}
*/
##################FINE MAINTENANCE
#if ($_SERVER['REMOTE_ADDR'] == "68.96.93.113") {
# print "stop here";
# exit;
#}
//Activate this one below when live! Turn it off just for debugging...
error_reporting(0);
//This below useful during dewbugging or site migrations...
//error_reporting(E_ERROR | E_PARSE);
//Loads chunk for PHP 5 compatibility...
include_once '/home/webadmin/musicianspage.com/EXTRA_SECURE/compatibilityPHP5.php';
//If we are NOT calling phpmyadmin...
if (strpos($REQUEST_URI, 'phpmyadmin') === false) {
#print "ecco: $REQUEST_URI";
# Rev. 13/2/07 per attivazione sessioni
# Rev. 5-5-007 per cookie "visibilita"
# Rev. 9-28-07 per controllo site status
#Definisce variabili globali...
#Variabili utili
include_once "/home/webadmin/musicianspage.com/EXTRA_SECURE/global_variables.inc";
$bots = array(
// Major Search Engines
"Googlebot",
"bingbot",
"DuckDuckBot",
"DuckDuckGo",
"YandexBot",
"YandexMobileBot",
"Baiduspider",
"Sogou",
"Applebot",
"Exabot",
"Google",
// Social Media
"Twitterbot",
"facebot",
"LinkedInBot",
"PinterestBot",
// Regional/Specialized Search
"Yeti", // Naver
"Qwantify", // Qwant
"DotBot", // Moz
// Other Important Crawlers
"CCBot", // Common Crawl
"uptimebot", // Uptime monitoring
"Crawler", // Generic crawler detection
// Still Active Specialized Bots
"psbot", // Picsearch
"Raven", // SEO tools
"SpiderBot",
"SiteTech-Rover",
"WebCopy",
"WebFetcher",
"SemrushBot",
"SiteAuditBot",
"SplitSignalBot",
"Screaming Frog SEO Spider",
//AI spiders and bots, info: https://momenticmarketing.com/blog/ai-search-crawlers-bots
"OAI-SearchBot",
"ChatGPT-User",
"ClaudeBot",
"claude-web",
"PerplexityBot",
"Perplexity-User",
"Google-Extended",
"Amazonbot",
"Applebot",
"FacebookBot",
"LinkedInBot",
"DuckAssistBot",
"MistralAI-User"
);//Current list of active bots as of 2025
$current_agent = $HTTP_USER_AGENT;
#$current_agent = "BackRub/*.*";
#print "eco: $current_agent";
foreach ($bots as $singlebot) {
//if (eregiFF ($singlebot,$current_agent) and !(eregFF("Alexa Toolbar",$current_agent))) {
if (stripos($current_agent, $singlebot) !== false and stripos($current_agent, "Alexa Toolbar") === false) {
$is_robot = 1;
}
}
//Here we include the anti-spam system to fight AI-bots since Sep 5, 2025 14:31... it is the same system we have on VSM...
if (!$is_robot and !$is_human) {
include_once $basedir.'/anti-spam/search_spam_check.php';
}
#Connessione MySQL secure
include_once $basedir_extrasecure.'/MySQL.inc';
#Moved here and loaded _once on 12/4/20, 12:18 PM...
include_once $basedir.'/includes/database_tabs/shared_lists.inc';
include_once $basedir.'/includes/database_tabs/shared_functions.inc';
//This below fixed on 6/22/21, 9:50 AM!
if (strpos($HTTP_HOST, $basesite) === false) { #fa il redirect 301 al dominio corretto
$destinowww = $SSLprot."://".$basesite.$REQUEST_URI;
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destinowww");
exit;
}
/*
if ($_SERVER['REMOTE_ADDR'] == '70.181.126.8') {
print "destinowww5: $destinowww";
exit;
}
*/
#print "/* ecco: $pirloso - $cleanSCRIPT */";
#Controlla se la pagina richiesta deve essere caricata sicura oppure non sicura...
if ($sslwork) {
if ($_SERVER['SERVER_PORT'] != 443) {
$destino = "https://$basesite".$REQUEST_URI;
#print "eccolo: $destino";
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
}
else {
if (!eregFF("/pj/",$cleanSCRIPT) and !eregFF("/scripts/",$cleanSCRIPT) and !eregFF("/testhttps/",$cleanSCRIPT) and !eregFF("/extras/",$cleanSCRIPT) and !eregFF("/uploads/",$cleanSCRIPT) and !eregFF("/includes/",$cleanSCRIPT) and strpos($cleanSCRIPT, "/login/news_jobs.rss") === false) { #Mettere qui le sezioni che sono indifferentemente caricate in https or http
if ((eregFF("/login/",$cleanSCRIPT) or eregFF("/signup",$cleanSCRIPT) or eregFF("/confirmemail.php",$cleanSCRIPT) or eregFF("/cf.php",$cleanSCRIPT) or eregFF("/confirm.php",$cleanSCRIPT) or eregFF("/admin",$cleanSCRIPT) or eregFF("/cart/checkout.php",$cleanSCRIPT)) and $_SERVER['SERVER_PORT'] != 443) {
$destino = "https://$basesite".$REQUEST_URI;
#print "eccolo: $destino";
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
else
if ($_SERVER['SERVER_PORT'] == 443 and !eregFF("/login/",$cleanSCRIPT) and !eregFF("/confirmemail.php",$cleanSCRIPT) and !eregFF("/signup",$cleanSCRIPT) and !eregFF("/cf.php",$cleanSCRIPT) and !eregFF("/confirm.php",$cleanSCRIPT) and !eregFF("/admin",$cleanSCRIPT) and !eregFF("/cart/checkout.php",$cleanSCRIPT) and !eregFF("js$",$cleanSCRIPT) and !eregFF("js$",$cleanSCRIPT) and !eregFF("css$",$cleanSCRIPT) and !eregFF("show_it.php",$cleanSCRIPT) and !eregFF("/extra_scripts/hoteditor/",$cleanSCRIPT)) {
$destino = "http://$basesite".$REQUEST_URI;
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
}
}
#Legge site status from control_panel table
$queryRT = "SELECT status, nowrite FROM control_panel";
$resultRT = mysql_queryFF($queryRT);
$SITESTATUS = mysql_resultFF($resultRT,0, 'status');
$SITENOWRITE = mysql_resultFF($resultRT,0, 'nowrite');
if ($SITESTATUS == 2) { #Se site status e' OFF...
#Controlla che non sia io (devo avere controlpassword cookie...)
if (!$controlpassword and !eregFF("/admin/",$cleanSCRIPT)) {
#include "/home/webadmin/".$basesite."/EXTRA_SECURE/siteoff.inc";
include $basedir_extrasecure."/siteoff.inc";
exit;
}
}
/*
######################################################################
#Controlla subito se c'e'' cookie visibilita', altrimenti visualizza pagina "Under Construction" -- da togliere quando si mette in production!
$paginedisplayed = array('/curriculum', '/home', '/free-sheet-music', '/musicians-list', '/music-links', '/fabriphpadmin');
foreach ($paginedisplayed as $single) {
if (eregFF($single, $cleanSCRIPT)) {
$displaypage = 1;
break;
}
}
#Controlal subito se c'e'' cookie visibilita', altrimenti visualizza pagina "Under Construction" -- da togliere quando si mette in production!
if (!$visibilita and !eregFF("set_flag.php",$REQUEST_URI) and !$displaypage) {
include $basedir_extrasecure."/underconstruction.inc";
exit;
}
######################################################################
*/
#Memorizza session ID
$s_id = $PHPSESSID;
include $basedir_extrasecure.'/de-crypt_functions.inc';
#Attiva sessioni
$bots = array(
// Major Search Engines
"Googlebot",
"bingbot",
"DuckDuckBot",
"DuckDuckGo",
"YandexBot",
"YandexMobileBot",
"Baiduspider",
"Sogou",
"Applebot",
"Exabot",
// Social Media
"Twitterbot",
"facebot",
"LinkedInBot",
"PinterestBot",
// Regional/Specialized Search
"Yeti", // Naver
"Qwantify", // Qwant
"DotBot", // Moz
// Other Important Crawlers
"CCBot", // Common Crawl
"uptimebot", // Uptime monitoring
"Crawler", // Generic crawler detection
// Still Active Specialized Bots
"psbot", // Picsearch
"Raven", // SEO tools
"SpiderBot",
"SiteTech-Rover",
"WebCopy",
"WebFetcher",
"SemrushBot",
"SiteAuditBot",
"SplitSignalBot"
);//Current list of active bots as of 2024
$current_agent = $HTTP_USER_AGENT;
#$current_agent = "BackRub/*.*";
foreach ($bots as $singlebot) {
if (eregiFF($singlebot,$current_agent) and !(eregFF("Alexa Toolbar",$current_agent))) {
#print "eccolo: $singlebot
";
$is_robot = 1;
}
}
if (!$is_robot) {
#Controlla che la pagina richiesta non sia un RSS oppure un contenuto dinamico per gli affiliati...
if (!(eregFF("images/banners/dyn",$REQUEST_URI)) and !(eregFF("news.rdf",$REQUEST_URI)) and !(eregFF("news.rss",$REQUEST_URI))) {
$expireTime = 60*60*24*100; // 100 days
#Blocco di controllo per evitare errore del tipo:
# "The session id contains invalid characters, valid characters are only a-z..."
# Trovato su PHP site on 19-10-07
#Questo serve per permettere $sid passing senza cookies!
ini_set('session.use_trans_sid', '1');
$sn=session_name();
if(isset($_GET[$sn])) if(strlen($_GET[$sn])!=32) unset($_GET[$sn]);
if(isset($_POST[$sn])) if(strlen($_POST[$sn])!=32) unset($_POST[$sn]);
if(isset($_COOKIE[$sn])) if(strlen($_COOKIE[$sn])!=32) unset($_COOKIE[$sn]);
if(isset($PHPSESSID)) if(strlen($PHPSESSID)!=32) unset($PHPSESSID);
##### Fine Blocco COntrollo session_id
if(!$s_id) {
session_set_cookie_params($expireTime);
session_start();
$s_id = session_id();
setcookie("s_id",$s_id,time()+95040000,'/');
}
}
}
if ($fov) {#If it is coming from GoogleAd (2-21-2013)...
#Scrive s_id dentro pre_overture table per verifiche (quando necessario)...
$queryTdeleted = "INSERT INTO pre_overture (fov,session_id,tempo) VALUES ('$fov', '$s_id',$globaltempo)";
$result_Tdeleted = mysql_queryFF($queryTdeleted);
if (!$fromov) {
$fov = $fov."AAAAA".time();
setcookie("fromov",$fov,time()+31536000,'/'); #Scadenza un anno dopo
}
$destino_rfsh = $REQUEST_URI;
$destino_rfsh = ereg_replaceFF("\?fov\=.+\&","?",$destino_rfsh);
$destino_rfsh = ereg_replaceFF("\?fov\=.+$","",$destino_rfsh);
$destino_rfsh = ereg_replaceFF("\&fov\=.+\&","\&",$destino_rfsh);
$destino_rfsh = ereg_replaceFF("\&fov\=.+$","",$destino_rfsh);
//header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino_rfsh");
exit;
}
/*
###Prende shared libraries...
if (!$sharedfunctionsflag) {
include $basedir.'/includes/database_tabs/shared_lists.inc';
include $basedir.'/includes/database_tabs/shared_functions.inc';
}
elseif (!$sharedlistsflag) {
include $basedir.'/includes/database_tabs/shared_lists.inc';
}
*/
//Here we check for possible spam bots to stop Apr 7, 2025 13:29...
if (!$is_robot) {
//We look into the spam_bots_list table and we find the IP address or addresses that have the clumn "tempo" less than 15 minutes ago...
$querySPAMBOTS = "SELECT partial_ip FROM spam_bots_list WHERE 1";
$resultSPAMBOTS = mysql_queryFF($querySPAMBOTS);
$nitemsSPAMBOTS = mysql_num_rowsFF($resultSPAMBOTS);
#print "querySPAMBOTS: $querySPAMBOTS - $nitemsSPAMBOTS";
#exit;
if ($nitemsSPAMBOTS) {
while ($rowSPAMBOTS = mysql_fetch_arrayFF($resultSPAMBOTS)) {
$partialIP = $rowSPAMBOTS["partial_ip"];
#print "check this partialIP: $partialIP
";
if (strpos($useripaddress, $partialIP) !== false) {
#print "stop this: $partialIP
";
include $basedir_extrasecure."/siteoff.inc";
exit;
}
}
}
}
#exit;
###Controllo login...
include 'setup_login.inc';
#Verifica se c'e' superuser on
if ($HTTP_GET_VARS["superpassword"]) {
$superpassword = $HTTP_GET_VARS["superpassword"];
}
#Questo e' per evitare che chiunguque possa accedere come superuser senza conoscere la password
if ($superuser and $superpassword != $superuserpw) {
$superuser = 0;
}
#E questo invece attiva super user se presente password
elseif ($superpassword == $superuserpw) { #Se c'e' password (cookie o in GET)
$superuser = 1;
}
#Se e' logged, allora memorizza variabili utili condivise...
if ($logged) {
include $basedir.'/includes/login/takeloginvariables.inc'; #Prende Member variables...
}
####Questo e' per banner redirect vecchie pagine e controllo hidden pages prima del lancio...
#Include temporary include...
//include "/home/webadmin/musicianspage.com/html/temporaryfirstinclude.inc";
#Enable gzip compression if browser accept it (SEO 10-14-2010)...
if (!eregFF("/scripts/", $_SERVER['SCRIPT_FILENAME']) and !eregFF("/mc/flash/", $_SERVER['SCRIPT_FILENAME']) and !eregFF("/uploads/", $_SERVER['SCRIPT_FILENAME'])) {
enablehtmlgzip();
}
}
?>
#Preleva definizioni liste gategories...
include $basedir.'/includes/database_tabs/shared_lists.inc';
#print "ecco: $SCRIPT_FILENAME";
$urlinput = $REQUEST_URI;
#Controlla se include sessione, in tal caso la taglia fuori
if (eregFF("\?PHPSESSID",$urlinput)) {
$urlinput = ereg_replaceFF("\?PHPSESSID=.+$","",$urlinput);
}
$musicianscatflag = 1;
#print "dopo: $urlinput";
$id = substr ($urlinput,11,strlen($urlinput)-10);
#print "ecco id: $id";
#Pulisce $id da parametri dopo ?...
$id = ereg_replaceFF("\?.+$","",$id);
if ($id) {
#Checks possible redirects to correct URL (Google fixing 4-2-2012)...
if (preg_match("/^.+\/(more|homepage|creativepage|videoalbum|videofile|videodefault|album|audiofile|audiodefault|sheetmusicalbum|sheetmusic|sheetmusicdefault)$/", $id) or !preg_match("/\/$/", $id)) {#Checks also for main musicians page (SEO 4-15-2013)...
#Redirects to the correct URL...
#Rev. here 5-1-2013 for URLS with parameters after slash!!
if (strpos($urlinput, "?") !== false) {
list ($urlinputPART1, $urlinputPART2) = explode ("?", $urlinput);
$destino = $urlinputPART1."/?".$urlinputPART2;
}
else {
$destino = $urlinput."/";
}
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
#Definisce criterio, browsing e narrows (fino a cinque livelli per ora)...
$narrow = array();
list($criterio,$browsing,$narrow[0],$narrow[1],$narrow[2],$narrow[3],$narrow[4]) = explode("/",$id);
$narrow1 = $narrow[0];
$sizenarrow = sizeof($narrow);
for ($i = 0; $i <= $sizenarrow; $i ++) {
if (!$narrow[$i]) {
break;
}
}
$sizenarrow = $i-1; #Memorizza quanti narrowby ci sono...
#print "eccolo: $narrow[1] - $sizenarrow
";
$origicriterio = $criterio;
$origibrowsing = $browsing;
#Controlla se criterio e' giusto, se non c'e' i casi sono tre:
# 1. Chiama un singolo utente by id number
# 2. Chiama un singolo utente by alias
# 3. URL errato
#print "prima: ".$maincategories[$criterio]." - ".$id;
if (!$maincategories[$criterio] and !is_numeric($criterio)) {
#Se id ha slash finale, la toglie...
$id = ereg_replaceFF("(^.+)\/$", "\\1", $id);
#Se invece ha home page o resume o altri upgrades, splitta...
if (eregFF("^.+\/(more|homepage|creativepage|videoalbum|videofile|videodefault|album|audiofile|audiodefault|sheetmusicalbum|sheetmusic|sheetmusicdefault)(.+$|$)", $id)) {
list($id, $null) = explode("/", $id);
$extraflaghere = 1;
}
#print "eccoaa: $id";
#Ora controlla se c'e' un alias, altrimenti fa errore... (rev. 4-1-08)
$idaliasnounderscore = str_replace("_", " ", $id);
$idaliasspaceright = str_replace("%20", " ", $id);
$queryALIAS = "SELECT aliaswitch, alias, id FROM $mainmusicianslist WHERE alias = '$id' or alias = '$idaliasnounderscore' or alias = '$idaliasspaceright'";
$resultALIAS = mysql_queryFF($queryALIAS);
$nitemsALIAS = mysql_num_rowsFF($resultALIAS);
if ($nitemsALIAS) {
$id = mysql_resultFF($resultALIAS,0, 'id');
$alias = mysql_resultFF($resultALIAS,0, 'alias');
$aliaswitch = mysql_resultFF($resultALIAS,0, 'aliaswitch');
//If $aliaswitch = 3, means user wants it just for listing...
//then we redirect to simple URL with number ID (9-22-2015)...
if ($aliaswitch == 3) {
$destino = $urlinput;
$destino = str_replace($alias, $id, $destino);
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
//If alias case is wrong, 301 redirects (SEO fixing 6-15-2015)...
if (strtolower($alias) == strtolower($id)) {
$aliasinput = $id;
}
elseif (strtolower($alias) == strtolower($idaliasnounderscore)) {
$aliasinput = $idaliasnounderscore;
}
elseif (strtolower($alias) == strtolower($idaliasspaceright)) {
$aliasinput = $idaliasspaceright;
}
if ($aliasinput != $alias) {//If different case...
if (strpos($urlinput, "?") !== false) {
list ($urlinputPART1, $urlinputPART2) = explode ("?", $urlinput);
$destino = $urlinputPART1."/?".$urlinputPART2;
}
else {
$destino = $urlinput;
}
$destino = str_replace($aliasinput, $alias, $destino);
$destino = preg_replace("/\/+$/", '/', $destino);
/*
if ($ziolo) {
print "alias: $alias - $aliasinput - $destino - $id - $idaliasnounderscore - $cleanURL";
exit;
}
*/
if ($destino != $cleanURL) {//Added 1-24-2019 to avoid infinite 301s!!
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
}
if ($extraflaghere) {
$id .= "/".$null;
}
}
}
elseif (is_numeric($id)) {
//Checks if this user has set alias and hasne't been called with alias
//In this case, makes a 301 redirect (9-22-2015)...
$queryALIAS = "SELECT alias, aliaswitch FROM $mainmusicianslist WHERE id = '$id'";
$resultALIAS = mysql_queryFF($queryALIAS);
$nitemsALIAS = mysql_num_rowsFF($resultALIAS);
if ($nitemsALIAS) {
$alias = mysql_resultFF($resultALIAS,0, 'alias');
$aliaswitch = mysql_resultFF($resultALIAS,0, 'aliaswitch');
if ($aliaswitch < 3 AND $aliaswitch > 0) {
//This user has an alias set for the URL, then we must redirect to that...
if ($FABRIZIO) {
$destino = $urlinput;
$destino = str_replace($id, $alias, $destino);
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
}
}
}
}
//Redirects to correct root with final slash (3-15-2016)...
elseif (preg_match("/^\/musicians$/", $urlinput)) {
$destino = $urlinput."/";
header("HTTP/1.1 301 Moved Permanently");
header("Location: $destino");
exit;
}
$q = cleaninputs($q);
if ($q and !$browsing) {
#$q=eregi_replaceFF("musician", "keyword_musician", $q);
$id = "/musicians";
$st = "md";
include $basedir.'/search/search.php';
exit;
}
elseif ($q and $where == 2) {
#$q=eregi_replaceFF("musician", "keyword_musician", $q);
#Se ricerca in ALL MUSICIANS fa redirect a search generale musicians...
$destino = $SSLprot."://".$basesite."/musicians/?q=".$q."&where=1&stab=".$stab;
header("Location: $destino");
#print "eccoci2";
exit;
}
elseif ($id == "") {
include $basedir.'/musicians_content/index.html';
exit;
}
else {
foreach ($maincategories as $key => $value) {
if ($id == $key."/") {
$page = ereg_replaceFF("\/$","",$id);
include $basedir.'/musicians_content/index.html';
exit;
}
}
}
include $basedir.'/musicians_content/browse.php';
?>