É possível passar o usuário e senha de um sistema PHP diretamente pela URL, no formato:
https://usuario:senha@www.exemplo.com
Porém, há algumas bibliotecas (como a libcurl) que não aceitam receber usuário e senha pelo endereço. É preciso separá-los.
Seguem duas funções que fazem essa separação, retornando os trechos distintos da URL, são elas:
- extrair_User_Pass que retorna “usuario:senha”
- extrair_URL que retorna “https://www.exemplo.com”
function extrair_User_Pass($URL)
{
// Inverte a string, pega tudo entre o primeiro
// '@' e as '//' e joga no Array "$arr1"
preg_match("'@.*\b//'",strrev($URL),$arr1);
// Converte a String em "$arr1[0]" em um array,
// inverte sua ordem e armazena em "$arr1"
$arr1 = array_reverse(str_split($arr1[0]));
// Retira o '@' e as '//'
array_shift($arr1);
array_shift($arr1);
array_pop($arr1);
return implode($arr1);
}
function extrair_URL($URL)
{
return preg_replace("/".extrair_User_Pass($URL)."@/","",$URL);
}




