Vizitator Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 (editat) salut. am doua servere, in spatele unui router. Serverului A i-am dat acces pe 80, iar server B l-am pus pe 88. Server A, ruleaza o distributie de Linux, server B are Windows. nu prea conteaza asta dar sunt sigur ca vor fi intrebari. ideea este ca ambele ruleaza Apache consideram "aaa" director pe serverul A respectiv "bbb" director pe serverul B ideea este ca as vrea ca "utilizatorul" la acesarea link-ului "domeniu.ro/aaa" sa aiba forward pe "domeniu.ro/aaa" , respectiv "domeniu.ro/bbb" forward spre "domeniu.ro:88/bbb" as putea face cumva asta ? oarecum..o idee as avea cum sa fac asta, dar as vrea si parerea voastra. pentru ca ideea mea e un pic ..."strange" Editat Noiembrie 30, 2016 de Vizitator Link spre comentariu
Marius Rotundu Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Nu sunt foarte sigur ce vrei, "dns redirect" sau "change default index page". Daca e primul caz ce fel de router ai? Daca e al doilea sunt mai multe moduri in care poti rezolva direct din apache config sau .htacces . Deci care sa fie? Link spre comentariu
dany_cta Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 (editat) <meta http-equiv="Refresh" content="0; url=http://domeniu.ro:88/bbb" /> Editat Noiembrie 30, 2016 de dany_cta Link spre comentariu
Vizitator Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 (editat) dns redirect cum ? ca ai un singur domeniu...adica un IP extern. @dany probabil te-ai gandit sa pui un folder "bbb" gol pe serverul A cu un index.htm care sa contina chestia...nu ? routerul este Asus RT-N16 cu Tomato 1.28 deci cred ca am scris foarte corect ce doresc. eu am facut asa. pe serverul A am modificat .htaccess prin adaugarea liniei: ErrorDocument 404 /missing.php missing.php contine: <?php$requrl = $_SERVER['REQUEST_URI'];echo "<script>window.location = 'http://domeniu.ro:88".$requrl."'</script>";?> tratarea exceptiei 404, se face daca nici al doilea server nu are fisierul cerut. exemplu: http://upx.ro/gilbert cum altfel ar fi mai ok...? Editat Noiembrie 30, 2016 de Vizitator Link spre comentariu
dany_cta Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 Exact, eu ti-am dat solutia cea mai simpla fara sa te complici cu htaccess, solutie care face ceea ce ai explicat la inceputul postului. In exemplu tau ai vrea sa citesti putin despre cross-site scripting vulnerability. Link spre comentariu
Vizitator Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 pai da dar... cu <meta http-equiv="Refresh" content="0; url=http://domeniu.ro:88/bbb" /> cum fac sa preiau parametrii completi din link ?...pentru ca bbb este doar un exemplu. Link spre comentariu
dany_cta Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 (editat) Poti face cu mod_redirect in .htaccess daca tot vrei asta. Sau chiar cu mod proxy cel mai elegant dar in cazul ala trebuie sa verifici adresa si sa te asiguri ca nu este ilegala. In felul asta folosesti doar portul 80 si conexiunea intre cele doua servere se face direct, nu mai trimite clientul catre al doilea server ci doar ii da output-ul. Este cea mai frumoasa solutie pentru ca nimic nu se schimba pentru client, el nici nu observa ca fisierele accesate sunt pe alt server, totul este transparent. Sau bineinteles daca iti place solutia ta poate sa fie adaptata si aici: <meta http-equiv="Refresh" content="0; url=http://domeniu.ro:88<?php echo $_SERVER['REQUEST_URI'];?>" /> Atentie: este o solutie complet nesecurizata. Considerand ca fisierele nu sunt de marimi extreme, poti sa ai si o solutie de genul: <?phpecho file_get_contents("http://<IP_server_2>:88".$_SERVER['REQUEST_URI']);?> In care inlocuiesti <IP_server_2> cu ip-ul local al server-ului si poti sa folosesti portul 80 si pe al doilea. Editat Noiembrie 30, 2016 de dany_cta Link spre comentariu
Vizitator Postat Noiembrie 30, 2016 Partajează Postat Noiembrie 30, 2016 ultima solutie pare ok. crezi ca are rost sa ma complic cu curl? Link spre comentariu
dany_cta Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 (editat) Doar daca vrei sa si trimiti variabile POST sau cookie-uri. Altfel nu are nici un rost. Si ultima solutie este insecurizata. Poti sa primesti un url modificat si in felul asta server-ul tau o sa acceseze locatii din afara. Deci e bine sa verifici fisierul cerut sa nu contina caractere care ar putea sa conduca catre un link in exterior (exemplu simplu: sa nu contina ":" care ar putea sa sugereze un link, sau mai multe "."). Adevarul este ca in toate cazurile trebuie sa verifici, orice metoda ai alege este nesecurizata daca nu verifici. Editat Decembrie 1, 2016 de dany_cta Link spre comentariu
Vizitator Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 ultima intrebare. da-mi un exemplu de link modificat. sa pot sa-mi dau seama ce sa caut... Link spre comentariu
dany_cta Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 Nu pot sa ma gandesc exact, e ceva de genul in care fisierul accesat contine de fapt o adresa completa si convingi server-ul sa o acceseze, incercand chiar sa inlaturi adresa precedenta printr-un caracter de separare. Trebuie testat, dar astfel de probleme exista. Link spre comentariu
Vizitator Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 inteleg. deci nu ar merge sa parsez url si sa verific daca host-urile corespund ? de genul... function parse_external_url( $url ) { if( empty($url) ) { return ""; } $link_url = parse_url( $url ); $home_url = parse_url( $_SERVER['HTTP_HOST'] ); if( $link_url['host'] == $home_url['host'] ) { return $url; } else { return "error"; }}sample: $requrl = parse_external_url($_SERVER['REQUEST_URI']); Link spre comentariu
dany_cta Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 (editat) nu, in REQUEST_URI nu ai host. mai degraba ceva de genul $url=str_replace(array(":","//","","&","""),"",$_SERVER['REQUEST_URI'];if(strcmp($url,$_SERVER['REQUEST_URI'])!==0 or substr_count($_SERVER['REQUEST_URI'],".")>1) die(); Este doar o teorie dar ar trebui sa ajute, eu aleg alte moduri de securizare de obicei. Editat Decembrie 1, 2016 de dany_cta Link spre comentariu
Vizitator Postat Decembrie 1, 2016 Partajează Postat Decembrie 1, 2016 (editat) mda. o sa merg deocamdata pe solutia asta, pana cand ma documentez cu proxy multumesc de ajutor. <?php $requrl = checkURI($_SERVER['REQUEST_URI']);echo "<meta http-equiv='Refresh' content='0; url=http://<domeniu.ro>".$requrl."'/>";function checkURI( $req_uri ) { $req_uri = urldecode ($req_uri); $url=str_replace(array(":","//","","&","""),"",$req_uri); if((strcmp($url,$req_uri)!==0) or (substr_count($req_uri,".")>1)) return "//".$_SERVER['HTTP_HOST']; return $req_uri;}?> Editat Decembrie 1, 2016 de Vizitator Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum