Jump to content
GSForum - Segélyvonal

Adatok lekérése egy másik lapról


Dandras

Recommended Posts

Dandras

Sziasztok!

 

Egy kis segítséget szeretnék kérni. Olvasgattam a fórumot de hasonló témát nem találtam, viszont itt van sok hozzáértõ emberke aki talán tud nekem segíteni.

 

A következõt dolgot szeretném megoldani a weblapomon:

Ahhoz, hogy a felhesználó láthasson bizonyos részeket az oldalon egy emeltdíjas SMS-t kell küldjön, majd

SMS-ben visszakap egy kódot.

Na itt jön a számomra bonyolult része a dolognak:

1. Ezt a kódot kellene bekérni a felhasználótól egy ablakban (ez lesz a "CODE")

2. Meg kellene hívni egy oldalt pl.: http://valami.hu/paycheck2.cgi?id=ID&code=CODE.

Erre vagy "ERR"-t vagy "OK"-t kapok eredményül. (ha beírom a címsorba a linket akkor OK-t vagy ERR-t látok) - de ezt hogy lehet lekérni??? :(

3a. Amennyiben "ERR" az eredmény akkor csak egy szimpla felirat kellene, hogy "Belépés nem engedélyezettt"

3b. Amennyiben "OK" az eredmény akkor engedje tovább a felhasználót a védett oldalra pl. /védett_tartalom/tartalom.php

 

Tudna nekem ebben valaki segíteni?

Minden segítséget elõre is nagyon köszönök.

Link to comment
Share on other sites

h.arpad

A lekérdezõ karakterláncban található adatokat a PHP a $_GET tömbben tárolja. Így a CODE tartalmát pl. az $_GET['CODE'] -dal tudhatod meg.

 

Az elsõ oldalon tehát egy HTML-ûrlapnak (form) kell lennie, amit GET-tel küldesz el (method), és az action-ben annak a PHP-oldalnak az URL-jét adod meg, amelyik az elküldött adatokat összehasonlítja az érvényes adatokkal, és az ennek megfelelõ tatalmat megeleníti.

 

Hogy hova kerülnek még az SMS-ben elküldött (érvényes) adatok (tehát a kód), azt neked kell tudni. Valószínû adatbázisba. :hááát:

Link to comment
Share on other sites

Dandras

Kedves h.arpad!

 

Köszönöm a segítséget. Nekem igazából olyasmi kellene, hogy valaki aki segíteni tud akár php-ben meg is írja azt a kódot ami nekem kell. Én egyáltalán nem értek ehhez a dologhoz (megírás), persze egy kész kódot be tudok illeszteni az oldalba.

Természetesen ha valaki úgy gondolja, hogy meg tudja írni ezt a dolgot én fizetni is hajlandó lennék érte, ha az illetõ úgy gondolja

 

Kicsit leírom másképp a dolgot, mert hátha nem egyértelmû amit írtam:

 

Van a felhsználónak egy SMS-ben kapott kódja. Legyen ez a "11111111"

 

Mikor belép az oldalra egy hasonló üzenetet lásson: belépéshez kérem a kódot

Erre beírja az "11111111" kódot majd enter.

Erre vagy azt látja, hogy belépés nem engedélyezett, mert érvénytelen kód vagy megjelenik a valami.php oldal neki.

 

Azt hogy az 11111111 kód érvényes-e azt úgy lehet megtudni, hogy meg kell hívni ezt az oldalt:

 

Kattints a linkre és meglátod mi történik, csak én ezt nem tudom hogyan lehet felhasználni (meghívni az oldalt majd a kapott eredményt feldolgozni "ERR" vagy "OK")

 

http://fizetek.hu/paycheck2.cgi?id=1234&code=11111111

 

Köszönöm,

 

Link to comment
Share on other sites

h.arpad

Az egy CGI kimenet. Amit te kérsz az PHP. Megírom én a kód leellenőrzését simán. A gondom azzal van, hogy mivel hasonlítsam össze a látogató által beírt kódot? Vagyis a kérdésem továbbra is: hol szertnéd tárolni/hol tárolod az érvényes kódokat?

Link to comment
Share on other sites

Greene

Amit legenerál kódot és visszaküldi SMS-ben azt jobbára tárolnia kell valahol. Feltételezve, hogy SMSküldõ rendszert használnak és nem Béla bácsi generálja a kódokat a széken ülve, kell legyen egy adatbázis az SMS-ezés mögött (mondjuk 2 táblával).

Ha normálisan mûködik a rendszer akkor a kimenõ SMS-ek megérkezése is logolva van, vagyis ha kiment az SMS az adott embernek, és meg is kapta(!), akkor, és csakis akkor beengedjük.

Link to comment
Share on other sites

Dandras
Az egy CGI kimenet. Amit te kérsz az PHP. Megírom én a kód leellenõrzését simán. A gondom azzal van, hogy mivel hasonlítsam össze a látogató által beírt kódot? Vagyis a kérdésem továbbra is: hol szertnéd tárolni/hol tárolod az érvényes kódokat?

 

Itt tulajdonképpen két oldalról van szó.

Az egyik az én oldalam a másik a szolgáltató aki a tulajdonképpeni SMS fizettetést végzi, a pénzt beszedi (majd kifizeti nekem) a kódot kiosztja és a kódot tárolja. A kódot tehát csak a szolgáltató és az az ember ismeri aki az emelt dijas SMS-t küldte. Egy-egy ilyen kód 24 órát érvényes.

 

Az érvényes kódokat tehát nem én tárolom, hanem az a szolgáltató aki az SMS fizettetést végzi. Én nem ismerem az érvényes kódokat.

Én csak ellenõrizni tudom, hogy a látogató által beírt kód érvényes-e. Ezt úgy teszem meg, hogy az oldalamon bekérem a kódot a felhasználótól majd meghívom a szolgáltató oldalát ( http://fizetek.hu/paycheck2.cgi?id=1234&code=11111111 ) aki megmondja nekem, hogy érvényes-e a kód vagy sem. A fenti példában szereplõ "11111111" kód például érvénytelen ezért ha a fenti linkre kattintasz egy "ERR"-t látsz illetve kapsz vissza. Itt az kellene, hogy ezt a visszakapott "ERR"-t egy php kód értelmezni tudná és azt mondja - ha a fenti link meghívására "ERR"-t kaptam akkor belépés megtagadva, ha pedig "OK"-t akkor a látogatónak bejön az én oldalamon a "/valami.php" oldal

 

Bemásolom ide a szolgáltató oldalán található leírást hátha segít vmit ( http://fizetek.hu/oldal/haszut.html ):

 

"Hozzáértõk a rendszerünket beépíthetik cgi-be, vagy php-ba is. (alternatíva)

 

Itt a felhasználótól a kapott kódot az oldalon is be kell kérni, majd meg

kell hívni a következõt a D.C.Lax-nál:

 

http://fizetek.hu/paycheck2.cgi?id=ID&code=CODE

 

ahol:

 

ID: a dokumentum azonosítója nálunk; - (saját megjegyzés: ez egy állandó szám például az "1234")

CODE: az általunk kiadott kód; - (saját megjegyzés: ez az amit a felhasználó ismer, például "11111111")

 

a visszaadott érték OK, ha van fizetés, ERR, ha nincs rendben."

 

Nem tudom mennyire érthetõ, remélem erre az információra volt szükséged. Amennyiben nem akkor írj, és megpróbálok másképp válaszolni.

 

Elõre is köszönöm a segítséget.

Link to comment
Share on other sites

h.arpad

Kipróbáltam, nálam működik: http://lasso.arpadh.hu/pcw/checksite.php

Természetesen azt írja ki, hogy a kód hibás. Ha helyes lenne, azt írná ki, hogy helyes. :)

 

<?php
$site = "fizetek.hu";

//NAGYON fontos! - a saját oldalad címére módosítandó: 
$mysite = "http://www.google.com/";

//ide jön az űrlap-adatok vizsgálata. Az egyszerűség kedvéért most csak megadom az adatokat
$smsid = 1234;
$smscode = 11111111;


//kapcsolat megnyitása (10 másodpercig próbálkozik)
$file = fsockopen($site, 80, $errno, $errstr, 10);

//HTTP-fejlécek, adatok
$send  = "GET /paycheck2.cgi?$smsid&code=$smscode HTTP/1.1\r\n";
$send .= "Host: $site\r\n";
$send .= "User-Agent: PHP" . phpversion() . "\r\n";
$send .= "Referer: $mysite\r\n";
$send .= "Accept: text/xml,application/xml,application/xhtml+xml,text/plain";
$send .= "text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,";
$send .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n";
$send .= "Accept-Language: hu-hu,hu;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$send .= "Accept-Encoding: gzip, deflate\r\n";
$send .= "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7\r\n";
$send .= "Connection: Close\r\n\r\n";


if ($file) {
    fputs ($file, $send);
     while ( !feof($file) ) {
     $data[] = fgets($file, 1024);
     }
    fclose ($file);
} else {
print "<br/>Error: $errno $error<br/>";
}

$result = $data[8];

//NAGYON fontos levágni:
$result = trim($result);

//a várt válaszok a CGI programtól
$ok ='OK';
$err = 'ERR';

if ( strcasecmp($result, $ok) == 0 ) {
//ide, hogy mi történjen, ha helyes a kód: 
          print "A kód helyes.";
                } elseif ( strcasecmp($result, $err) == 0 ) {
//ide, hogy mi történjen, ha helytelen: 
                print "A kód helytelen!";
                } else {
//ha bármi hiba van a karakterlánc tartalmával:
         print "Hiba az adatok feldolgozása során. Tartalom: $result";
                }
?>

Link to comment
Share on other sites

Dandras

Kedves h.arapad!

 

Teljesen tökéletesen műkődik. Nagyon szépen köszönöm a segítségedet és a fáradozásodat és nem utolsó sorban a türelmedet. :)

Nagyon sokat segítettél, és mindezt rendkívül profi módon és gyorsan.

 

:istenvagy::istenvagy::istenvagy:

 

Még egyszer nagyon köszönöm!

 

Üdvözlettel, DAndrás

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...