Új hozzászólás Aktív témák
-
_Petya_
őstag
Hello!
Van valakinek tapasztalata LDAP kezeléssel kapcsolatban? Egyelőre kiolvasni próbálok (person, organizationalPerson, inetOrgPerson a structural típusok), de néhány attribútum helyett üreset ad vissza, Ja, és posixAccount és SambaSamAccount object type-ról van szó. Pl. cn, uid, description attribútumokat kiolvassa, de pl. a roomNumber, gidNumber és hasonlók üreset adnak vissza, holott az LDAP-ban benne van az érték. Mi lehet a hiba?
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Felhozom a témát, valamint itt egy példa kód, ami bemutatja a problémát: [link]
Kimenet:
Using LDAPv3LDAP bind successful...
<-emailcím->is the email address of the cn your requested
<-teljes név->is the cn of the cn your requested
is the rn of the cn your requested
Tehát a roomNumber üres, pedig az LDAP-ban benne van...
Petya
[Szerkesztve]Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
válasz Tele von Zsinór #128 üzenetére
Köszönöm. A hiba az volt, hogy a PHP valamiért a roomNumber attribútumot roomnumber-ként olvassa ki. Kisbetűsre változnak a nevek...
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Hello!
Ismét lenne egy kérdésem. Adott szerver1 és szerver2 két szerver, apache és php belőve rajtuk. A szerver1-en futó php scriptből kellene elérnem a szerver2-n található megadott függvény visszatérési értékét. Lényeges, hogy a függvény csak a szerver2-n futhat, a program többi része a szerver1-en. Hogyan lehet ezt megoldani?
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Üdv!
Ismét kérdeznék:
Jelszó hash-t szeretnék generálni, mégpedig NT password hash-t.
Azt írják, hogy:
The Windows NT hash is created by taking the user's password as represented in 16-bit, little-endian UNICODE and then applying the MD4 (internet rfc1321) hashing algorithm to it.
Viszont: nem találok a PHP-ben MD4 kódolást, csak MD5-öt. Tehát a kérdés, hogyan valósítom meg a fenti műveleteket PHP-ban?
szerk: ja és most nézem, hogy az RFC 1321 az az MD5, és az RFC1320 az MD4. Meg van ez valósítva készen PHP-ben, vagy nekem kell megírni RFC alapján?
Petya
[Szerkesztve]Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
kifutottam az időből, sorry
Szóval, MD4 implementációt már találtam, már csak azzal van gond, hogy:
taking the user's password as represented in 16-bit, little-endian UNICODE
Ezt hogyan tudom megcsinálni? (egy form-ba írja be user a jelszót, ki tudja milyen kódolással, vagy lehet, hogy csv file-ból, vagy mysql-ből kerül be, tehát semmit nem tudunk abból, hogy a jelszó milyen formátumú) Ha jól tudom nem egészséges egy Unicode szöegre újból ráküldeni a konvertáló algoritmust...
szerk: cucka: én is ugyanezt találtam, az endianness nem gáz, csak a kódolás
Petya
[Szerkesztve]Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
El tudjuk valahogy dönteni egy stringről, hogy milyen kódolású?
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Kipróbáltam, biztos nem UTF8 kell, mert úgy nem jó a hash (van egy ismert jelszó, és hozzá biztosan jó hash, azt próbálom előállítani, egyelőre kevés sikerrel.) Szerintem UTF16 kell, de ilyet megint csak nem találok sehol, csak fizetős oldalakat Biztos megint valami egyszerű dolog lesz, csak én nem találom meg ezeket soha.
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Hello!
Segítséget kérnék a következő problémához:
Adott egy A gép, ezen PHP4 fut (tehát PECL nincs!), itt egy PHP scriptból szeretnék SSH-n belépni a B gépre, ott egy shell scriptet lefuttatni, a shell script kimenetét az A gépen futó PHP scriptben változóként visszakapni, majd kijelentkezni SSH-n.
Hogyan tudnám ezt megoldani? Kulcsalapú SSH megvan, a PHP-ba való beillesztés a kérdés.
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Hello!
PHP-ben szeretném megoldani az alábbi problémát:
Van egy string, ami így néz ki (reguláris kifejezés alakban): [0-9.]+{k,M}B
Tehát pl: "11.3MB", "28kB" stb...
A számok és a betűk közé szeretnék egy space-t beszúrni. Hogyan lehet ezt a legegyszerűben?
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
válasz Tele von Zsinór #727 üzenetére
Nálam ez nem működik, semmit nem csinál a szöveggel.
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
válasz loszerafin #730 üzenetére
Köszönöm, ez működik.
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Hello!
Egy UTF-8 kódolású string első 10 karakterét szeretném levágni, és a "..." stringgel kiegészíteni, pl: "ez egy nagyon hosszú string" => "ez egy nag..."
$string = substr($string,0,10)."...";
Az a probléma, hogy ha ékezetes betűnél vág, akkor a 2 byte-os UTF8 karaktert elvágja, és csak az első byte lesz benne a stringben, ami természetesen "fekete rombuszban fehér kérdőjel"-ként látszik.
Hogy lehet ezt szépen megcsinálni?
Petya
[ Szerkesztve ]
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Sziasztok!
Két szerver közötti SOAP alapú kétirányú kommunikációt szeretnék kipróbálni PHP-ban. Erre keresnék valami egyszerű, "hello world"-jellegű példát, de neten nem találok. A referenciákból meg számomra nehéz úgy lekódolni valamit, hogy nem láttam még működés közben ilyet
Esetleg a SOAP mellett a WSDL is szóba jöhet.
Tudnátok ebben segíteni, esetleg linkelni valami épkézláb howto-t, példakódot?
üdv.
PetyaFontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
válasz _Petya_ #1392 üzenetére
Hello!
Közben találtam leírást, itt: [link]
Kipróbáltam, de a kliensen a "Hello World" szöveg helyett "Object" jelenik meg, holott a cikkben azt írják, a Hello World-nek kellene.
Mi lehet a hiba?
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Közben próbálkozom:
kliens kódot a szerverre átrakva, és ott localhost-ra kapcsolódva ugyanaz a hiba mint eddig.
szerver kód kliensre, és ott localhostos kapcsolódás:
soap_fault Object ( [error_message_prefix] => [mode] => 1 [level] => 1024 [code] => HTTP [message] =>
Found
The document has moved here.
Apache/2.2.3 (Debian) PHP/4.4.4-8+etch4 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at localhost Port 80
[userinfo] => [backtrace] => Array ( [0] => Array ( [file] => /usr/share/php/SOAP/Fault.php [line] => 52 [function] => pear_error [class] => pear_error [type] => :: [args] => Array ( [0] =>
Found
The document has moved here.
Apache/2.2.3 (Debian) PHP/4.4.4-8+etch4 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at localhost Port 80
[1] => HTTP [2] => [3] => [4] => ) ) [1] => Array ( [file] => /usr/share/php/SOAP/Base.php [line] => 205 [function] => soap_fault [class] => soap_fault [type] => -> [args] => Array ( [0] =>
Found
The document has moved here.
Apache/2.2.3 (Debian) PHP/4.4.4-8+etch4 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at localhost Port 80
[1] => HTTP [2] => [3] => [4] => [5] => ) ) [2] => Array ( [file] => /usr/share/php/SOAP/Transport/HTTP.php [line] => 403 [function] => _raisesoapfault [class] => soap_transport_http [type] => -> [args] => Array ( [0] =>
Found
The document has moved here.
Apache/2.2.3 (Debian) PHP/4.4.4-8+etch4 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at localhost Port 80
) ) [3] => Array ( [file] => /usr/share/php/SOAP/Transport/HTTP.php [line] => 537 [function] => _parseresponse [class] => soap_transport_http [type] => -> [args] => Array ( ) ) [4] => Array ( [file] => /usr/share/php/SOAP/Transport/HTTP.php [line] => 153 [function] => _sendhttp [class] => soap_transport_http [type] => -> [args] => Array ( [0] => World [1] => Array ( [trace] => 0 [input] => parse [result] => parse [parameters] => [namespace] => urn:helloworld [style] => rpc ) ) ) [5] => Array ( [file] => /usr/share/php/SOAP/Client.php [line] => 324 [function] => send [class] => soap_transport_http [type] => -> [args] => Array ( [0] => World [1] => Array ( [trace] => 0 [input] => parse [result] => parse [parameters] => [namespace] => urn:helloworld [style] => rpc ) ) ) [6] => Array ( [file] => /var/www/ssl/admin/pearsoap-hello-client.php [line] => 10 [function] => call [class] => soap_client [type] => -> [args] => Array ( [0] => helloWorld [1] => Array ( [inmessage] => World ) [2] => Array ( [namespace] => urn:helloworld ) ) ) ) [callback] => )Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Sziasztok!
PHP-ből küldök e-mailt, a mail() függvénnyel. A levél szövege UTF-8 kódolású MySQL adatbázisból származó sablon, amelyben a változókat preg_replace()-el cserélem szintén ugyanabból az adatbázisból szármató adatokra, tehát tekinthetjük úgy, hogy a teljes szöveg UTF-8 kódolású.
Ezért simán a mail() függvénnyel elküldve a levél kódolása hibás lesz, ezért próbálom ISO-88592-2 kódolásúvá átalakítani, és úgy küldeni:
$mailtext = preg_replace($patterns, $replacements, $text);
$mailtext_iso = iconv("UTF-8", "ISO-8859-2", $mailtext);
mail('user@valami.hu', iconv("UTF-8", "ISO-8859-2", $subject), $mailtext_iso);Így a levél szövegének második felét levágja, csak az első fele érkezik meg, helyes kódolással. Az iconv() kihagyásával az egész levél megérkezik, de rossz a kódolás.
Kérdésem: miért nyeli le az iconv() a szöveg második felét?
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Hello!
Van egy Perl scriptem, ami így néz ki:
(Mailman levlsita tagok szinkronizálása mysql-ből)
Ez így működik szépen parancssorból, crontabból is. Viszont felmerült az igény, hogy web felületről, PHP-ból is le lehessen ezt futtatni, mégpedig úgy, hogy a script kimenete látsszon a webfelületen.
PHP-ból a system() függvényhívással próbálom futtatni a Perl scriptet, de ezzel két probléma is van:
- csak az utolsó sort kapom vissza (pl ha többször egymás után több levlistára hívom meg a Perl sub-ot)
- a Perl script system() hívásának kimenete nem látszik PHP-ból, tehát annyit kapok vissza, hogy:Synchronizing members for list: "listaneve" Synchronizing members for list: "listaneve" finished"------------------------------
, amit közben kiír a sync_members parancs, az nem látszik.
Átírtam a scriptet így: [link] , ennek ellenére továbbra sem látszik PHP-ból a sync_members kimenete, pedig a mailman-out.txt file-ban ott van.
Az első hibára is várom az ötleteket, hogy illik ilyet csinálni? Köszönöm előre is a segítségeteket!
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Számomra az a furcsa, hogy ugyanúgy a Perl írja ki a print paranccsal a "Syncronizing.." szöveget, és a mailman_sync kimenetét is, file-ból. Ennek ellenére az egyik látszik, a másik pedig nem.
Petya
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!
-
_Petya_
őstag
Hello!
Igen, próbáltam, a második pastebin-es linken ott van. Ekkor a system-en belül, a parancs kimenetét beírom egy file-ba, majd később a perl-el íratom ki. Így:
system("/usr/lib/mailman/bin/sync_members -a=no -w=no -g=no -f /tmp/maillist ".$data{listname}." > /tmp/mailman-out.txt");
....
open(RET, "</tmp/mailman-out.txt");
while(<RET>) {
print $_;
}Akkor kipróbálom a backtick-et is.
szerk: De egyébként ugyanott írják, hogy:
[I]
To read both a command's STDOUT and its STDERR separately, it's easiest to redirect them separately to files, and then read from those files when the program is done:system("program args 1>program.stdout 2>program.stderr");
[/I]Ez alapján az én módszeremnek is működnie kellene.
Petya
[ Szerkesztve ]
Fontos feladatot soha ne bízz olyan gépre, amit egyedül is fel tudsz emelni!