Cum Funcționează un Proxy PHP și Ce IP Este Vizibil pentru Site-urile Accesate?
Într-o lume digitală tot mai conectată, utilizarea unui proxy PHP devine o metodă populară pentru a accesa site-uri fără restricții și pentru a gestiona traficul web într-un mod controlat.
Dar cum funcționează un astfel de proxy și ce IP este vizibil pentru site-urile accesate?
Un proxy PHP este un script care acționează ca un intermediar între utilizator și site-ul pe care acesta dorește să-l acceseze. În loc ca utilizatorul să acceseze direct un site web, acesta face o solicitare către serverul care rulează proxy.php
, iar serverul trimite mai departe cererea către site-ul dorit.
Această tehnică este folosită pentru a evita restricțiile CORS, X-Frame-Options, pentru anonimizare sau pentru cache automatizat al conținutului
Cum Funcționează un Proxy PHP?
Să presupunem că avem următorul scenariu:
- Clientul (IP 101) accesează un site web prin intermediul unui server proxy.
- Serverul Proxy (IP 102) rulează un script
proxy.php
, care preia conținutul site-ului și îl redirecționează către client. - Site-ul Destinație (
webprogramator.ro
) primește solicitarea de la proxy și returnează conținutul.
🔍 Fluxul exact al procesului:
1️⃣ Clientul (IP 101) trimite o cerere către proxy.php
, dorind să acceseze https://webprogramator.ro
.
2️⃣ Serverul Proxy (IP 102) preia cererea și folosește cURL pentru a accesa site-ul.
3️⃣ Site-ul Destinație (webprogramator.ro
) vede că solicitarea vine de la IP-ul 102, deoarece proxy-ul preia cererea în numele utilizatorului.
4️⃣ Serverul Proxy returnează conținutul site-ului către client (IP 101), care îl vede în browser.
Ce Vede Site-ul Destinație?
Un site accesat printr-un proxy PHP va vedea în mod implicit:
- IP-ul serverului proxy (102) – nu IP-ul clientului real (101).
- Un User-Agent setat de proxy, care poate fi diferit de cel real.
- Un referer gol sau un referer falsificat, în funcție de configurarea proxy-ului.
- Fără cookie-uri originale ale utilizatorului, dacă nu sunt transferate manual.
Cum Transmitem și IP-ul Real al Utilizatorului?
Dacă dorim ca site-ul destinație să poată vedea IP-ul real al utilizatorului (101), putem adăuga un header suplimentar în proxy.php
:
curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-Forwarded-For: ' . $_SERVER['REMOTE_ADDR'], 'User-Agent: ' . $_SERVER['HTTP_USER_AGENT'] ]);
🔹 Ce face acest cod?
X-Forwarded-For: $_SERVER['REMOTE_ADDR']
→ Transmite IP-ul original al utilizatorului către site-ul destinație.User-Agent: $_SERVER['HTTP_USER_AGENT']
→ Păstrează informația despre browserul utilizatorului.
⚠ Atenție! Majoritatea site-urilor ignora header-ul X-Forwarded-For
, deoarece este ușor de falsificat.
Avantajele și Dezavantajele Utilizării unui Proxy PHP
Avantaje | Dezavantaje |
---|---|
Poți accesa site-uri care au restricții CORS sau X-Frame-Options. | Proxy-ul poate deveni un punct vulnerabil pentru atacuri. |
Ascunde IP-ul utilizatorului, oferind un nivel de anonimitate. | Traficul poate fi monitorizat și logat pe serverul proxy. |
Poate filtra și modifica conținutul înainte de a-l afișa utilizatorului. | Site-ul destinație poate bloca IP-ul serverului proxy. |
Un proxy PHP este o metodă puternică pentru accesarea site-urilor fără restricții și pentru anonimizarea traficului. Însă, în mod implicit, site-ul destinație va vedea doar IP-ul serverului proxy (102) și nu pe cel al utilizatorului real (101).
Dacă vrei ca site-ul accesat prin proxy să vadă și IP-ul real al utilizatorului, trebuie să folosești header-ul X-Forwarded-For
, dar acesta nu este întotdeauna acceptat. În multe cazuri, utilizarea unui proxy rămâne cea mai eficientă metodă de redirecționare a traficului și ocolire a restricțiilor web.