-
Fototrend

Ú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...

-
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?

-
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...

-
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?

-
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?!
Vagy csak én várok el túl sokat mástól, hogy könnyebb legyen az én munkám?!

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

-
creation
senior tag
-
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?
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
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
creation
senior tag
válasz
Sk8erPeter
#8649
üzenetére
Teljesen jó itt is

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...

-
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

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Új Lenovo Thinkbook 14 G7 WUXGA IPS Ultra7 155H 16mag 32GB 1TB SSD Intel Arc Win11 Pro Garancia
- Új HP 16 Victus FHD IPS 144Hz Ryzen7 8845HS 5.1Ghz 16GB 1TB SSD Nvidia RTX 4060 8GB Win11 Garancia
- Új Asus Zenbook S14 WQXGA OLED 120Hz Ultra7 258V 32GB 1TB SSD Intel Arc 140V 16GB Win11 Garancia
- Asus 17 TUF Gaming FHD IPS 144Hz G-Sync Ryzen7 7435HS 16GB 512GB Nvidia RTX 4060 8GB Win11 Garancia
- Új Acer Nitro V15 FHD IPS 144Hz Ryzen7 7735HS 16GB DDR5 512GB SSD Nvidia RTX 4060 8GB Win11 Garancia
- Vállalom Xianomi Okos kamerák, szoftveres javíttását
- Samsung Galaxy A56 8/256GB - Kártyafüggetlen, Fehér, ÚJSZERŰ - 1 Év Garanciával
- Xbox One S 512 GB + kontroller 6 hó garancia, számlával!
- HIBÁTLAN iPhone 13 128GB Green-1 ÉV GARANCIA - Kártyafüggetlen, MS4347
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 3-11. gen.
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




![;]](http://cdn.rios.hu/dl/s/v1.gif)
