Internet: PHP, CGI, stb.

Segítség kérése FreeBSD webinterface PHP kompatibilitási problémáinak javításához

Kedves Fórumtársak,

Egy viszonylag kis közösség évek óta használja nagy megelégedéssel a ZFSguru-nak becézett FreeBSD webinterface-t. A fejlesztők egyszer csak minden előzetes jel nélkül eltűntek a közösséget egy avuló UI-val hagyva. A ZFSguru minden további nélkül telepíthető felület akár a FreeBSD 11.2-RELEASE -re is, azonban a PHP56 csomag számos ponton másképp működik mint a korábbiak, ezért a felület sok hibával illetve néhány helyen nem működik.
Abban kérném hozzáértő PHP szakértő véleményét, hogy az itt https://www.dropbox.com/s/0h0ybmcawvcaej5/ZFSguru-0.3.1XSMB4-webinterfa…
elérhető interface-t érdemes, lehet-e PHP56-hoz kompatibilisre foltozni, vagy ez olyan mértékű munka, amivel nem érdemes vesződni? Ha egyszerűen megoldható, hogyan érdemes hozzáfogni?

Köszönet,

(Avult telepítési útmutató itt: http://zfsguru.com/doc/bsd/zfsguru és itt http://zfsguru.com/forum/zfsgurudevelopment/1092)

PHP annotations

Sziasztok,

Tudnátok segíteni merre találok használható leírást, hogy hogyan lehet PHP custom annotation-t definiálni?
Pusztán csak a tanulás és kíváncsiság kedvéért.....
Alapvetően amit szeretnék egy elegáns megoldást a fügvény/method input validálásra. Bár nem vagyok benne biztos, hogy alkalmas lehet erre.

Pl.:
/**
* @ValidInputKeys=['key1'=>"int",'key2'=>"callable" .... ]
*/
public function myFunc($args = [])
{
....do something
}

Ezt atláltam de nem igazán fogtam fel:
https://php-annotations.readthedocs.io/en/latest/UsingAnnotations.html

HTML table furcsaság

Sziasztok!

Érdekes dologba botlottam egy egyszerűnek tűnő HTML táblázat gyakorló feladat során:

https://imgur.com/a/pEXVnGx

A képen jobb oldalt felül látható, hogy mit kellene kihozni, bal oldalt a kód, és jobb oldalt alul a kapott eredmény.

Több órán át néztem a kódot és próbálgattam különböző CSS beállításokat is, viszont semmi nem működött.

Ugyanezen táblázatot SharePoint Designer-el elkészítve ha egy 6x6-os táblával indulok és bővítem a szükséges cellákat, akkor sikerül elérnem a kívánt állapotot, csak a felesleges cellák lógnak ki, viszont ha azokat törlöm, akkor a képen látható eset áll fenn.

Windows-on IE és Chrome (plusz a SP Designer), Ubuntu alatt Firefox is ezt produkálja.

Kérlek segítsetek, mert már néhány napja idegesít ez a feladat, hogy én vagyok a hülye és elkerülte a figyelmemet valami, vagy másról van szó?

(Plusz poén, hogy 9.-es diákoknak órán adtam fel a feladatot, majd óra végére, mikor már én is megcsináltam a kódot, akkor láttam, hogy valami nem stimmel. Egyik diák hasonló módon programozta, mint ahogy én SP Designer-ben csináltam és ő is hasonlót tapasztalt, tehát a plusz cellákat meghagyva működik, de azokat törölve egyből az általam tapasztalt jön ki.)

Próbáltam neten keresni, de nem találtam releváns bejegyzéseket.

javascript tartalom megkeresése böngészőben

(Lehet a cím rossz, mert lehet a megközelítés is, javítsatok ki nyugodtan.)

Feladat:

Instagram galéria oldalán a képek linkjének, vagy azonosítójának kibányászása (linkből azonosító kinyerhető).

Példa galéria linkre:
https://www.instagram.com/humansfurryfriends/

Példa linkre és azonosítóra:
https://www.instagram.com/p/BoT_NcbDQ99/?taken-by=humansfurryfriends
BoT_NcbDQ99

--- --- --- --- --- --- --- --- --- --- --- ---

Megközelítéseim és bukásaim:

- A html tartalom feldolgozásánál a következő hibába futottam: görgetéskor tölti be a további képeket, DE közben kiveszi az előzőeket is, html-ben csak a galéria egy része van jelen.

- Készítettem programot, ami görget, és közben kiolvas, viszont ez csak workaround lett, a célom az lenne, hogy tanuljak, ne csak megoldjam.

- Network traffic-et néztem, görgetés közben nyilván tölti is le a tartalmat, nekem nem ez a lényeges viszont, hanem a már letöltött tartalom nyomon követése, tehát ahova az ajax-on keresztül letöltött adatokból kerülnek.

- Localstorage-ban nincs, window változóban böngésztem körbe csak.

- Csak az oldal betöltésekor látható alapeset képeit találtam, a továbbiakat nem:

window._sharedData.entry_data.ProfilePage[0].graphql.user.edge_owner_to_timeline_media.edges

window.__initialData.data.entry_data.ProfilePage[0].graphql.user.edge_owner_to_timeline_media.edges

- Mélyebben nem tudtam kutatni, mert elveszetettem a fonalat, nem tudtam a teljes js kód átnézése nélkül megtalálni, hogy a network traffic-ból jövő adatok hova kerülnek.

(Nem elsődlegesen JS programozó vagyok. Firefox-ban dolgoztam, ha esetleg számít, beépített developer tool-t használtam. Kerestem userscript-eket, de csak html feldolgozást találtam.)

Korrektül karbantartott PHP csomagok CentOS 7 alá?

Sziasztok!

Egy ügyfelünk (bér)szerverén jelenleg 5.4-es, a kvázi hivatalos Software Collections repóból telepített PHP fut CentOS 6 alatt. Mint pár napja megtudtuk (ez az infó eddig sajnos elkerülte a figyelmünket), 2016 októbere óta EOL státuszba került a "sclo-php54" csomag, így semmilyen frissítés nem jön már ki hozzá (ez egyébként a fájlok last modify dátumából is gyönyörűen látszik a repóban). Ezt az áldatlan állapotot szeretnénk minél előbb megszüntetni.A szerver egyébként is megérett a cserére, az új szerverre terveink szerint CentOS 7-et fogunk majd telepíteni, tehát legyen ez a kiindulási alap.

A kérdésem: milyen forrásból érdemes friss, lehetőleg upstream által is támogatott PHP verziót telepíteni úgy, hogy minimális legyen annak a veszélye, hogy a csomagkezelő egyszer csak úgy dönt, nem tartja karban a csomagokat a továbbiakban?

A verzióigény kapcsán nincs még biztos infó, mi értelemszerűen a legújabb stabil, 7.2-es verziót szeretnénk, és igen valószínű, hogy az alkalmazás gond nélkül el fog futni alatta, tekintve, hogy nem túl régi fejlesztésről beszélünk, és a mai napig rajta van a projekten egy 2-3 fős fejlesztői csapat az ügyfél oldaláról. Mindenképp olyan repóra lenne szükség, amit nem egy db fejlesztő tart karban, és számíthatunk rá, hogy legalább 2-3 évig fognak kijönni hozzá rendszeres security frissítések. Értelemszerűen nem szeretnénk újra abba a kellemetlen helyzetbe kerülni, amibe most kerültünk.

A forrásból fordítgatás (akár kézzel, akár szkriptelve) kizárt, pláne, hogy így bukhatunk olyan security fixeket, amiket a RedHat backportolt egy újabb verzióból (vagy esetleg ő maga implementálta), mivel ezek az upstream forráscsomagokban nem biztos, hogy benne vannak.

Biztos vagyok benne, hogy sok sysadmin-t érint ez a probléma, mi most egy kicsit elakadtunk ezzel, nem tudjuk, mi lenne a jó megoldás.

Ha nem találunk megoldást, akkor valószínűleg CentOS helyett Debiant fogunk telepíteni a szerverre, amiben alapból vannak a main repóból elérhető, rendszeresen karbantartott, 7.0-s PHP csomagok, melyek a Debian support policy-ja alapján az OS teljes életciklusa alatt (vagyis, Stretch esetén 2022-ig) támogatottak lesznek.

Ezeket kilőttük már:

* Main repóban lévő PHP csomagok: túl régi verzió (5.4), a fejlesztők mindenképp díjaznák, ha végre nem 5.4-es PHP-ra kellene fejleszteniük, illetve mi is jobban örülnénk, ha egy upstream által is karbantartott verziót használhatnánk, arról nem is beszélve, hogy egy csomó 3rd party alkalmazás, pl. a szerveren napi szinten használt phpmyadmin is legalább 5.6-os PHP-t igényel már évek óta.
* Remi's Repo: nem jó, egyetlen fejlesztő tartja karban (Remi Collet), igaz, egyelőre úgy tűnik, becsületesen adja ki a frissítéseket minden támogatott verzióhoz
* Webtatic: elég noname (a napokban hallottam róla először), ha minden igaz, egy Andy Thompson nevű úriember áll mögötte, vagyis esélyes, hogy itt is egy db fejlesztő tartja karban a csomagot, ergó kilőve...
* IUS: ha jól sejtem, szintén egy db fejlesztő áll mögötte (Carl George), igaz, a Rackspace szponzorálja a projektet... hogy ez jó vagy rossz, azt per pillanat nem tudom megítélni. :)

Előre is köszi az ötleteket!

PHP script - upload

Sziasztok,

Szeretnék feltölteni egy tartalmat egy URL-re.Mintapélda:


"<"form name=fileuploadexample method=post enctype=multipart/form-data action=teszt11.php">"
   "<"input type=hidden name=MAX_FILE_SIZE value=30000">"
   "<"input type=file name=stdin accept=.dossie, .es3">"
   "<"input type=submit name=submit value=Küldés class=occszbtn">"
"<"/form">"

A fogadó oldal kész és a fenti példával fel is tudom küldeni a fáljt.

Kérdésem:
Szeretném ha nem a felhasználó által felküldött fájl kerülne post-olásra, hanem egy előzőleg előállított tartalom. Azt gondolom, hogy a file_get_contents függvénnyel meg tudom oldani, de fogalmam nincs hogyan állítsam elő context-et. Jó volna egy dump, amivel látnám a mit küld el a fenti megoldás. De ha létezik más, elegánsabb megoldás, arra is vevő lennék.
Valami ilyesmire gondoltam:
https://stackoverflow.com/questions/12939156/submit-form-on-one-server-…

Client Certificate Auth - Angular 4-5-6

Sziasztok!

Röviden tömören, szeretnék hozzáférni a böngésző certijeihez ellenőrzés céljából
(valószínűleg rosszul keresek googleben), s nem igazán találok rá iránymutatást sem.

A nyelv Javascript lenne, de Angular/Typescript megoldás lenne az igazi, amivel meg kellene oldanom a feladatot.

Dióhélyban van egy Angular6 projekt, felhasználót szeretnék azonosítani, de csak azok számára kellene megjelenjen a login lehetősége, ahol
telepítve van a böngészőben, az általam kiadott certificate.

Ha valaki tud rá valami aranyos npm lib-et, vagy angular modult, vagy csinált már hasonlót bármely webes nyelven, s tudna pár jó tanáccsal szolgálni, megköszönném. :)

PHP CURL SOAP MTOM csatolt fál

Sziasztok!

PHP-ban szeretnék CURL segítségével SOAP kérést feladni (POST), de úgy hogy MTOM attachment et is van!

PHP SOAPClient -l is próbálkoztam azzal még egy üres kérésig se jutottam.

Sajnos nem értek kifejezetten a SOAP témához, szóval lehet, hogy valami level1 es segítség kellene.

Napok óta guglizok, sok sok oldalt néztem, de egyikkel sem ment.

AZ is segítség lenne, ha valaki olyan oldalt mutatna amivel a fentiek sikerültek neki.

Ha más ötlet van megvalósításra az is érdekel.

Köszönöm.

[☺]Perl, unicode, html, ☺

Sziasztok!

Hadd lássam már azt a nyomorult ☺-t egy Perl által generált dinamikus weboldalon! Segítsetek, legyetek szívesek.


#!/usr/bin/perl

my $ustring1 = "Hello \x{263A}!\n";  
binmode DATA, ":utf8";
my $ustring2 = <DATA>;
binmode STDOUT, ":utf8";
print "$ustring1$ustring2";
__DATA__
Hello ☺!

STDOUT-on "Hello ☺!Hello ☺!" a kimenete.
A weblapon:


#!/usr/bin/perl
use CGI;
use CGI::Carp qw( fatalsToBrowser );
use CGI qw(:standard);
use DateTime;
use DB_File;
use DBM_Filter;
use Encode;
use utf8;


print header;
print  start_html(-title=>'faszom',
		  -encoding=>'UTF-8',
		  -head=>[
                        meta({
                        -charset=> "UTF-8"
                  })]);
                      
my $ustring1 = "Hello \x{263A}!\n";
binmode DATA, ":utf8";
my $ustring2 = <DATA>;
binmode STDOUT, ":utf8";
print "$ustring1$ustring2";

__DATA__
Hello ☺!

html kimenete: Hello ☺! Hello ☺!

Már egy rakás modult végigpróbáltam. Ennek a nyomai látszanak a use parancs után. UTF-8-as bejegyzésektől hemzseg a fejléc... Az a szmájli csak nem jelenik meg...

Multisite drupal - rewrite külső tartalomra

Sziasztok,

Adott egy multisite drupal telepítés nginx-szel.
Kiszolgál egy rakás domain-t, mondjuk site01.example.com ... site30.example.com
Az nginx configban egy server szakasz van, a server_name-ben felsorolva az összes cím.

Ehhez jött az extra kérés, hogy a site11.example.com/extra01 alá proxyzzuk be a http://staticextra01.local tartalmát.

Hogy kellene ezt szépen megcsinálni?

a) szétszedni az nginx konfigot nem szeretném két külön server szakaszra, mert akkor azt később párhuzamosan kell kezelni.

b) nginx-ben if ($host = 'site11.example.com') {proxy_pass ...; } De ugye "If is Evil"

c) ???

Van esetleg a drupal-nak valami belső proxy megoldása? Vagy egyéb bölcs ötlet?