Keresés

Új hozzászólás Aktív témák

  • creation

    senior tag

    Holnap ha bent leszek megnézem amit írtatok és szólok, ha okosabb lettem... :R

  • creation

    senior tag

    válasz Sk8erPeter #8684 üzenetére

    Mert ez a kód csak egy kódrész az egészből, azért nem látsz session_start();-ot...

    Igazából az első részt nem is kellett volna bemásolnom, most így jobban belegondolva, mert az csak a db-ben való tároláshoz szükséges (felhasználó azonosítás)... Az NTLM ugyanis lefut minden böngésző alatt flottul, csak az ldap nem...

    A csellengő echo és egyéb részek a több ember által írt kód eredményei... Ki meddig jutott a "fejl(v)esztéssel".

    Szóval az ldap részénél hanyatlik el jelenleg az IE kivételével az összes böngésző amit eddig próbáltunk. Így nem értem, hogy mi lehet az ok és a megoldás...

  • creation

    senior tag

    válasz Sk8erPeter #8682 üzenetére

    <?php

    ///////////////////////////////////////////////////////// BEJELENTKEZETT USER LEKÉRÉSE ////////////////////////////////////////////////////////////////////

    $headers = apache_request_headers();
    if (!isset($headers['Authorization']))
    {
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: NTLM');
    exit;
    }

    $auth = $headers['Authorization'];

    if (substr($auth,0,5) == 'NTLM ')
    {
    $msg = base64_decode(substr($auth, 5));
    if (substr($msg, 0, 8) != "NTLMSSP\x00")die('error header not recognised');
    if ($msg[8] == "\x01")
    {
    $msg2 = "NTLMSSP\x00\x02\x00\x00\x00".
    "\x00\x00\x00\x00". // target name len/alloc
    "\x00\x00\x00\x00". // target name offset
    "\x01\x02\x81\x00". // flags
    "\x00\x00\x00\x00\x00\x00\x00\x00". // challenge
    "\x00\x00\x00\x00\x00\x00\x00\x00". // context
    "\x00\x00\x00\x00\x00\x00\x00\x00"; // target info len/alloc/offset
    header('HTTP/1.1 401 Unauthorized');
    header('WWW-Authenticate: NTLM '.trim(base64_encode($msg2)));
    exit;
    }
    elseif ($msg[8] == "\x03")
    {
    function get_msg_str($msg, $start, $unicode = true)
    {
    $len = (ord($msg[$start+1]) * 256) + ord($msg[$start]);
    $off = (ord($msg[$start+5]) * 256) + ord($msg[$start+4]);
    if ($unicode)return str_replace("\0", '', substr($msg, $off, $len));
    else return substr($msg, $off, $len);
    }
    $user = get_msg_str($msg, 36);
    $domain = get_msg_str($msg, 28);
    $workstation = get_msg_str($msg, 44);
    $greetingmsg = "Üdvözlöm $user, ($domain/$workstation) <br>";

    }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    if(($_SESSION['user'] != "") and (($_SESSION['engedely_olvas'] == "") or ($_SESSION['engedely_ir'] == "")))
    {

    /////////////////////////////////////////////////////////////// LDAP CSOPORT LEKÉRDEZÉSE //////////////////////////////////////////////////////////////////

    $ldap_server = "ldap_server_neve.domain";
    $auth_user = "Vedelem@ldap_server_neve.domain";
    $auth_pass = "Vedelem_jelszava";
    $base_dn = "OU=Accounts,OU=csoport1,OU=csoport2,OU=csoport3,OU=csoport4,DC=szervezet,DC=domain";
    $filter1 = "(&(objectCategory=user)(memberOf=cn=GG-server-Security,OU=csoport1,OU=csoport2,OU=csoport3,OU=csoport4,DC=szervezet,DC=domain))";
    $filter2 = "(&(objectCategory=user)(memberOf=cn=GG-server-SecurityServiceVedelem,OU=Groups,OU=csoport1,OU=csoport2,OU=csoport3,OU=csoport4,DC=szervezet,DC=domain))";
    // Csatlakozás az LDAP serverhez
    if (!($connect=@ldap_connect($ldap_server))) {
    die("Nem lehet csatlakozni a serverhez!");
    }
    // Bejelentkezés
    if (!($bind = ldap_bind($connect, $auth_user, $auth_pass))) {
    die("<CENTER><img src=\"img/under_construction.png\" width=\"800\"><br>Project: 001</CENTER>"); // Hibás felhasználónév
    }
    // search1 active directory
    if (!($search1 = ldap_search($connect, $base_dn, $filter1))) {
    die("Unable to search ldap server");
    }
    // search2 active directory
    if (!($search2 = ldap_search($connect, $base_dn, $filter2))) {
    die("Unable to search ldap server");
    }


    ////////////////////////////////// ADMIN CSOPORT JOGOK ÉS VIZSGÁLAT ///////////////////////////////////////////

    $info = ldap_get_entries($connect, $search1);
    //echo("GG-server-Security")."<br>";
    for ($i=0; $i<$info["count"]; $i++) {
    //echo "". $info[$i]["samaccountname"][0]."<br>";
    if($user == $info[$i]['samaccountname'][0])
    {
    $_SESSION['engedely_olvas'] = "1";
    $_SESSION['engedely_ir'] = "1";
    }
    }


    echo("<p>");


    ////////////////////////////////// VÉDELEM CSOPORT JOGOK ÉS VIZSGÁLAT ///////////////////////////////////////////

    $info = ldap_get_entries($connect, $search2);
    //echo("GG-server-SecurityServiceVedelem")."<br>";
    for ($i=0; $i<$info["count"]; $i++) {
    //echo "". $info[$i]["samaccountname"][0]."<br>";
    if($user == $info[$i]['samaccountname'][0])
    {
    $_SESSION['engedely_olvas'] = "1";
    $_SESSION['engedely_ir'] = "0";
    }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    }

    $_SESSION['user'] = $user;


    ?>

  • creation

    senior tag

    válasz Sk8erPeter #8680 üzenetére

    Nem, egyszerűen se hiba jelzés se semmi, csak nem kap értékeket... Másoljak kódrészt? Hátha én 'sztam el valamit? :U

  • creation

    senior tag

    válasz Sk8erPeter #8678 üzenetére

    Köszönöm az eddigi segítséget mindkettőtöknek.

    Meglátjuk, hogy a helyi Informatikai manáger hogyan viszonyul majd ehhez. Egyenlőre ma azt az infót kaptam tőle, hogy egyszerűbbnek érzi egy FF telepítését jelenleg. Aztán ha lezajlott az egyéb feladata, akkor beszélhetünk másról is. Szóval mégiscsak engedélyt kaptunk úgy néz ki egy második böngésző használatára...

    Azt hogy miért kevertem ide az ldap-ot, annak az oka az volt, hogy eleinte azt hittem, hogy ő a ludas, majd azt hogy a felhasználó lekérdezés, de amikor már egy echo se ment, akkor számomra is világossá vált, hogy nem itt kell keresgélni.

    Ettől függetlenül értetlenül állok az előtt tény előtt is, hogy miért csak IE alatt megy az ldap... Ha arra lenne valami értelmes megoldás a wamp keretein belül, akkor már boldog ember lennék... :R

  • creation

    senior tag

    válasz inf3rno #8675 üzenetére

    Az utolsó thread-et ha jól értelmezem, az sem oldja meg az IE-vel való megnyitás gondját...

  • creation

    senior tag

    válasz inf3rno #8674 üzenetére

    Ahahm, ldap kivételével minden megy azonnal Chrome/FF/Opera alatt.

    IE alatt meg semmi se, még egy echo sem. Csak percekkel később tölti be, vagy sem...

  • creation

    senior tag

    válasz inf3rno #8671 üzenetére

    Miben véled látni az ellentmondást?

    Lehet hogy nem egyértelműen fogalmaztam és túlbonyolítottam... :R

  • creation

    senior tag

    válasz Sk8erPeter #8670 üzenetére

    Akkor menjünk vissza a gyökerekhez és most hagyjuk ki a játékból az ldap-ot.

    Ha csak egy echo "akármi"; szintű index.php-t készítek, azt se tölti be!

    Ne bonyolítsuk túl. Igazából én bonyolítottam túl azzal, hogy megosztottam azt az infót, hogy az ldap nekem csak IE alól megy, de nem ez a legfőbb probléma. Ha az ldap-ot kiveszem a játékból, mi több a felhasználó azonosítást is kiszedem, nem marad másom csak egy echo "akármi"; , akkor sem tölti be az ezt tartalmazó index.php-t az IE, míg a többi böngésző röhögve nyitja.

    Ez mitől lehet? :F

  • creation

    senior tag

    válasz inf3rno #8668 üzenetére

    Server type: Microsoft Winfos 2008 Server

    A webserver egy virtuális gépen fut. wamp az alapja, a legfrissebb benne minden, ami a legfrissebb csomagban elérhető volt...

    IE összes alól próbáltam, mindnél ugyan az a séma, Chrome-ból a legfrissebb, FF és Opera nem tudom, mert azt a garázda próbálta, az ldap kivételével nála is minden korrektül betöltött.

    Már egy sima echo sem indul el. Tehát kár az ldap-ban keresgélni!

  • creation

    senior tag

    válasz Jim Tonic #8659 üzenetére

    Nem is azon gondolkodtam el, hogy mennyire nehéz, hanem azon, hogy a valós életben ezt majd nem neki kell eldöntenie. Ő csak ajánlatot tehet és kritériumokat fogadhat el.
    Az adatbázis felépítését, már meg ne haragudj, de hogyan tervezze meg, ha fogalma sincs, hogy az adott eszköz milyen adatokat fog neki oda hányni és azok mekkora méretet is öltenek?! Gyakorlatban ez így nem megy. Legalább egy példa s feladat erejéig összekaphatta volna magát a példa megírója, hogy pl: hőmérsékletet és rögzítési idejét küldi a klíma, egyiket timestampben a másikat meg 3 tizedesig celsiusban. Akkor már van mivel számolni. Meg van miből kitalálni a db formáját, de így?! :F

    Vagy csak én várok el túl sokat mástól, hogy könnyebb legyen az én munkám?! :F :U

    A többivel nem vitatkozok, teljesen helytálló kérdések és a megválaszolásuk sem okoz szerintem a srácnak akadályt. :U

  • creation

    senior tag

    válasz inf3rno #8658 üzenetére

    Olyan egyszerű dolog sem indul el IE alól csak 30-90+ mp betöltési idő után mint egy echo "akármi";...

    Szóval nem az ldap az elsődleges probléma, azt csak eleinte hittük, hogy az okozza a gondot. 100%, hogy valami más a hiba, csak még nem találtuk meg, hogy mi.

  • creation

    senior tag

    válasz Sk8erPeter #8653 üzenetére

    Semmi extra, a php.ini-ben megtalálható ldap funkciót használom fel, amit te is írtál.

    $info = ldap_get_entries($connect, $search1);
    //echo("xxx-Security")."<br>";
    for ($i=0; $i<$info["count"]; $i++) {
    //echo "". $info[$i]["samaccountname"][0]."<br>";
    if($user == $info[$i]['samaccountname'][0])
    {
    $_SESSION['engedely_olvas'] = "1";
    $_SESSION['engedely_ir'] = "1";
    }
    }

    Ez pedig a lekérésem.

    Ha más böngészővel próbálom meg elindítani az oldalt, akkor sajnos nem adja ki a jogokat, gyakorlatilag mintha nem is futna le a programkód.

    A dolog nincs kiengedve a nagyvilágba. Ez csak a belső hálózatról elérhető.

    Nézegettem a logfileokat, de sehol semmi nyoma nincs annak, hogy miért nem történik másodpercekig semmi. Próbáltuk másik portra "terelni" a dolgokat mert feltűnt, hogy ha IE alatt megnyitom az oldalt és csak "teker", akkor Chrome és a többi böngésző alatt is csak teker, míg az IE-t be nem csukom. Akkor azonban azonnal betöltődik mindegyiken. Csak az IE-n nem.
    Sajnos a másik portra terelés a httpdconf.ini Listen port 80-as portról 8080 és más portokkal sem ment. Lehet hogy máshol is kellett volna még ezt állítani? :F

    Gyakorlatilag olyan mintha a kérés el se jutna a serverig. Ha IE-ben nézem F12-vel, hogy mi a szitu, akkor azt látom, hogy "pending" megy ezerrel, de semmi nem történik. Aztán olyan 30-90+mp után egyszercsak bejön az oldal... Vagy nem... Vagy azonnal.. vagy nem...

    Én kifogytam az ötletekből, az utolsó megállapításom az volt, ha nem fog menni az ldap-al, akkor csinálok egy user adatbázist és lesz mindenkinek jelszava.

  • creation

    senior tag

    válasz Doctor46 #8654 üzenetére

    "- Határozza meg a fejlesztendő szoftver funkcionális követelményeit!
    - Határozza meg a fejlesztendő szoftver minőségi követelményeit!"

    Ezt miért te? Ezeket a vevőnek, tehát a kisboltnak kell leszögeznie, a mit kér rovatban...

    "Egy áruház klimatizálási rendszeréből 10 másodpercenként érkeznek - az egyes
    helyiségek hőmérsékletét jelző - monitoradatok egy adatbázisba. A megfigyelt helyiségek
    (beérkező adatok) száma 100 darab."

    "- Tervezze meg az adatok tárolásához szükséges adatbázis felépítését!
    - Határozza meg az adatok tárolásához szükséges tárterületet!"

    - És hány éves a kapitány felesége...

    De most tényleg elvárják, hogy nem is tudod, hogy a nyomorult klíma legalább kb-ra milyen formátumú adatokat küld, de azért ezeket mondd meg így előre...

    Kis klíma loggerem, ami a mérőgépemen van, 15 percenként küld adatokat a gépnek, amit egy adatbázisban tárol le.
    Ez az alábbi mezőket tartalmazza:
    Internal sensor db: id, date&time, temperature, humidity, dewpoint
    És ugyanez, még 8 csatornán.

    20140110-től a mai napig 32MB adat készült 1 csatornán.

    A kérdésem, hány fokos volt a mérőszoba tavaly december 14-én?

    Nincs több kérdésem...

    Azért gondolkodok a témakörön, bár nekem anno nem voltak ilyen kérdések, amikor programozást tanultam... Illetve összeszedettebb kérdések voltak. Több technikai adattal. Bár az tény, hogy így is megoldható egy egy-/többismeretlenes válasszal ;]

  • creation

    senior tag

    válasz Sk8erPeter #8649 üzenetére

    Teljesen jó itt is :R

    Hibaüzenet nincs.

    A tünetek:
    Asztalra tett parancsikonból való indításnál elsőre hol fehér oldal+töltő karika ezerrel a végtelenségig, vagy azonnal betölt. Ez teljesen random. Ha betölt is van hogy minden megy flottul, van meg hogy hiába kattint a user a két menüpontból (engedély olvasás / létrehozás) bármelyikre, meg se makkan. Teljesen kiszámíthatatlan, hogy mi és mikor fog történni.

    Chrome, Tűzróka és Opera mindegyik flottul nyitja az oldalt, ámde ezek alatt, mint írtam az LDAP azonosítás sajnos nem megy (nekem nem sikerült életre keltenem és mivel az IE a támogatott program nem is tehetik fel az említetteket a userek a gépeikre).

    Nézegettem a network részt, de ezerrel megy a pending... Semmi válasz a servertől. Ugyanakkor a server ping-re és más böngészők kéréseire is azonnal reagál... :U

  • creation

    senior tag

    Szervusztok...

    Akadt egy kis nyűgöm, gondoltam itt is felteszem a kérdést.

    Adott egy céges server. Meg adott egy felhasználói tábor, meg némi wamp+php+js...

    A cél az volt, hogy a biztonsági szolgálatnak létrehozzunk egy "beléptető" rendszert. Azon felhasználóknak, akik abba a csoportba tartoznak, hogy felvihetnek és olvashatnak belépési engedélyeket a cég területére és azoknak, akik (portaszolgálat) csak olvashatják a kapott listát.

    Ezen felhasználói csoportokat LDAP lekérdezéssel érjük el. A felhasználó a gépre való bejelentkezés után belépve az egyik szerven levő apache-on futó helyi intranetes oldalon tudja ezt felvinni. Mivel az LDAP lekérdezés csak IE alól tud (nálam valamiért csak innen) futni, így egyszerű volt a dolog. User belép gépére jelszóval, belép IE-be, az lekéri a nevét majd név alapján LDAP beazonosítja a csoport tagságát és megállapítja a PHP oldal, hogy írhat e, olvashat e.

    A probléma a következő... Nem igazán programozási hiba... Valamiért a wamp-on futó oldal időnként nem nyílik meg elsőre IE alatt. Aztán meg van hogy simán lefut és megnyílik. Előbb az LDAP-ra gyanakodtam, de azt kikapcsolva is megmaradt a hiba. Aztán a user bekérést is kilőttem, de a hiba még fennáll. Nem minden esetben nyitja meg a wampon futó akár "Hello World" szintű oldalt sem.

    Server oldal: Virtuális Winfos 2008 server + wamp
    User oldal: IE9 (nem, sajnos nem változhat, ez a céges policy által meghatározott)

    Ha tudtok valami ötletet adni, hogy mi okozhatja, azt megköszönném :R

Új hozzászólás Aktív témák

Hirdetés