euphoric Posted September 21, 2009 Report Share Posted September 21, 2009 Iztēlosimies tādu situāciju : script.php -> if ($_GET["data1"] == a) { $data1 = $_GET["data1"] $vards = $_GET["vards"] $pw = $_GET["pw"] $sql = mysql_query("INSERT INTO table (dati1,vards,pw) VALUES ('$data1','$vards','$pw')"); if ($sql == 1) { kkāds kods. . . } } else {kkāds kods . . . } Pieņemsim, ka "$_GET" pieprasījumā mēs saņemam svarīgus datus, no kuriem ir atkarīgs, lietotāja tālākais liktenis. (Tātad viņiem ir jābūt,precīziem.) Kā lai to nodrošina ? Jo tos viegli var mainīt, pat nepieredzējis programists. www.site.lv/script.php?data1=a&vards=root&pw=123 Quote Link to comment Share on other sites More sharing options...
briedis Posted September 21, 2009 Report Share Posted September 21, 2009 (edited) Es to daru tā pirmalapa.php $salt = "randomneuzminamaisstrings"; $hash = md5($vards1 . $pass . $othershit . $salt); //padodam mainīgo hash kopā ar pārējiem get mainīgajiem otraalapa.php $salt = "randomneuzminamaisstrings"; //tāds kā pirmajā lapā if($_GET['hash'] != md5($_GET['vards1'] . $_GET['pass'] . $_GET['othershit'] . $salt)){ echo "Eu, čalīt, kaut kas nav riktīgi!"; }else{ echo "Viss kārtībā, mainīgie valīdi :)"; } Ja dati nav pārāk daudz, tad var arī tos bāzt masīvā, serializēt un vēl nokodēt ar base64_encode. $d['n'] = 'Pēteris'; $d['p'] = 'pass'; $encoded = base64_encode(serialize($d)); $hash = md5($encoded . $salt); Otrā lapā: if($_GET['hash'] != md5($_GET['encoded'] . $salt)){ exit(); }else{ echo "Ok!"; } $d = unserialize(base64_decode($_GET['encoded'])); print_r($d); //Te ir tas pats masīvs ar visiem datiem kas iepriekšējā skriptā base64 ar aci nav atkodējams :) , bet tas palielina datu apjomu, ja daudz datu, būs baigi garš URL'is (limits ar kaut kāds bija) Ceru ka noderēs! Edited September 21, 2009 by briedis Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 21, 2009 Report Share Posted September 21, 2009 (edited) 1. padoma vai nevar izmantot POST nevis GET ( ja dati nak no Formas tad izmanto GET 2. NEKAD !!! nepadod Usera Paroles Un LOGINU ar GET, Vienmer var atrast kadu citu risinajumu, Formu gadijuma kautvai tas pats POST varjants ( ja dati nak no Formas) 3. Ja dati nak jau no servera tad tos Vispar neparsuuti , bet izmanto kautvai $_SESSION mainiigo ... 4. NEKAD !!! Neraksti DB datus bez too parbaudes. ( DB ierakstiisanai izmanto kautvai primitiivu kombinaciju $dati=trim($_GET['xxx']); // notiira liekos tuksumus no abam puseem $dati= mysql_real_escape_string($dati); Tas ir pats minimums ko vari dariit .. -- base64 ar aci nav atkodējams :) , Toties tas izraisa neveseliigu zinjkri kas notiks ja atkodees un iebaros citus datus... // piedevam atkodesana tachu ir primitiiva , un lielakoties atri var noteikt ka tas ir BSE64 nevis teiksim MD5 ( kautvai peec simbolu skaita) Edited September 21, 2009 by Grey_Wolf Quote Link to comment Share on other sites More sharing options...
euphoric Posted September 21, 2009 Author Report Share Posted September 21, 2009 Liels paldies, noderēs noteikti. Tomēr manā gadījumā ir nedaudz savādāk: Sms pakalpojumu sniedzējs padod "$_GET", pieprasījumu uz script.php. Pieņemsim ja apmaksāts tad a==1, tadejādi ļaundaris zinot, kur atrodas un kā saucas "script.php", var saņemt pakalpojumu bez maxas! Prasti runājot ir tā : if(a==1) { Saņemam pārējos $_GET, ar textu ko sūta sms'kā,sms-id. Ievadam datu bazē vajadzīgo info, noģenerēto pieejas kodu un kodu izvadam uz ekranu (kas tiek izvadīts uz ekrana, aiziet atbildes sms,lietotājam!) } Tā primitīvi apraxtīju, viss ir nedaudz sarežģītak, bet jebkurā gadījuma, zinot *.php atrašanās vietu uz kuru padodas $_GET, var viegli visu apiet ! Quote Link to comment Share on other sites More sharing options...
euphoric Posted September 21, 2009 Author Report Share Posted September 21, 2009 Nu, jā tas skaidrs . Paroles un lidzīgu info ar $_GET nepadoshu, bet ja pat padod ar to pašu POST, vienīgais PLUS ir tas ka nerdze uzreiz padotos datus urļa loga, paskatoties web source, izmeklē patstāvīgi mainīgos, kas tiek padoti un saraxti pie urļa kā sirds tīk. Quote Link to comment Share on other sites More sharing options...
briedis Posted September 21, 2009 Report Share Posted September 21, 2009 Manuprāt vienīgais veids kā tavā gadījumā rīkoties ir rakstīt neuzminamu php faila nosaukumu... Man arī ir tieši tā pati situācija, diemžēl tie sms pakalpojumu sniedzēji nekādu īpašo drošību nepiedāvā :( Quote Link to comment Share on other sites More sharing options...
euphoric Posted September 21, 2009 Author Report Share Posted September 21, 2009 Skaidriite . Vismaz tagad zinu, ka nav mana nepilnvērtīgā koda vaina . Paldies . Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 21, 2009 Report Share Posted September 21, 2009 1. kar Nosledz normalu liigumu ar SMS pakalpojuma sniedzeju, un apstrada tikai tos datus kas sanjemti no SMS pakalpojuma sniedzeja. Kur 1. jaietilpst tavaai parolei ( kurai jabuut pietiekami garai un sarezgitai) 2. tavam loginam ( arii nevajag izveleties primitiivu ) Piedevam parbaudi no kaadas IP nak pieprasijums, parasti ( vismaz normali ) SMS hosteri iedos tev savu serveru IP attieciigi no citam IP vienkarshi nepakalpo .. --- Attieciigi, pat zinot skripta atrasanaas vietu , neko pratiigu neieguusi, Ja vien neuzminesi paroli, loginu Un nemacesi nosimuleet IP. Protams Shie ir tikai standarta Risinajumi, paliek vel arii Elektroniskais paraksts utt... Quote Link to comment Share on other sites More sharing options...
briedis Posted September 21, 2009 Report Share Posted September 21, 2009 Konkrēti man ir sadarbība ar esteria, nekādu ip adrešu sarakstu nepiedāvāja un nekādus loginus paroles arī ne. Tik nosūta GET pieprasījumu un viss. ...kaut kāds krievu kantoris, kā nekā :) Gadījies arī, ka pamaina sms cenu, nepaziņojot. Grauj jau tikai manu apmeklētāju uzticību :( Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 21, 2009 Report Share Posted September 21, 2009 briedis --> nu un kapec nemaini ?? Piedavajumu taks daudz.. Vismaz ar kuriem man ir nacies stradat, shiis tris pamatlietas nodrosina... Quote Link to comment Share on other sites More sharing options...
euphoric Posted September 21, 2009 Author Report Share Posted September 21, 2009 Man arī esteria, pirms izvēlēties cītīgi, pārskatīju forumus, nekādu sliktu atsauksmju nemanīju. Tagad kad lieto sāk uzpeldēt, tā lūk. Bet principā , ar to ip ir laba ideja. Ja vinji paši negrib sniegt ip, tad var parbaudīt no kurienes nak pieprasījums. Man kā reiz scriptā, bij pievienots "REMOTE_ADDR", bet ja nemaldos ar pirmo pieprasījumu uzradas kkada adrese, bet ar otro vienk IP raxtas. Tūlinj iemetīšu aci, DB. Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 21, 2009 Report Share Posted September 21, 2009 a par IP vispar esi pajautajis?? nedomaju ka tas ir kautkas slepjams.. Piedevam tomer ruupiigi paskaties ko vinji piedava, diezvai nav kada primitiiva aisardziabs mehanisma.. Kautvai tas ko vinji atgriezj, vai tad tiesam tikai pieprasijumu ka sanjemta SMS?? neko vairak?? Ne usera tel nr, ne tekstu kas tika suutiits, neko no shii ?? Quote Link to comment Share on other sites More sharing options...
euphoric Posted September 21, 2009 Author Report Share Posted September 21, 2009 par Ip nebiju iedomāies, tapēc arī veidoju sho topiku :) Pastījos DB ip adreses ir dawdz un dazhaadas. Vispār būs jāuzjautā, gan jau ka iedalīs kkādu "ip range" . Quote Link to comment Share on other sites More sharing options...
briedis Posted September 21, 2009 Report Share Posted September 21, 2009 a par IP vispar esi pajautajis?? nedomaju ka tas ir kautkas slepjams.. Piedevam tomer ruupiigi paskaties ko vinji piedava, diezvai nav kada primitiiva aisardziabs mehanisma.. Kautvai tas ko vinji atgriezj, vai tad tiesam tikai pieprasijumu ka sanjemta SMS?? neko vairak?? Ne usera tel nr, ne tekstu kas tika suutiits, neko no shii ?? Esteriai ir izdevīgi tarifi. Rekur ir tas, ko viņi GET'o sms-id=%sms-id%&operator-id=%operator-id%&from=%from%&to=%to%&text=%text%&charged= Aizsūtīšu sisadmina meilu, pajautāšu par kkādu drošību... Tech supports esteriai ir labs un ātrs :) Quote Link to comment Share on other sites More sharing options...
euphoric Posted September 21, 2009 Author Report Share Posted September 21, 2009 " Tech supports esteriai ir labs un ātrs :) " , man ar tā iepriekš likās. Bet tagad jau otro dienu gaidu , kad pieslēgs vēl vienu kodu . Vai arī stulbais inbox.lv gļučī atkal... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.