PHP Pomoc Zdravim, chci se zeptat jestli jestli nekdo netusite jak dostat do nejaky citelny podoby tento zdrojak https://pastebin.com/XyZMkNs9 . Je to kod co mi nekdo pridal do souboru na webovym serveru skrze nejakou bezpecnostni chybu a rad bych aspon nejak radove analyzoval co to delalo, kdyz jsou tam ty fory a eval, ale z tech hodnot a nazvu promennych a indexu jsem trochu zmatenej a jen prevod do ASCII mi moc nepomaha. Diky za pripadny tipy.
Typická forma obfuskacie... Vytvorí si globálne pole do ktorého si nasádza všetky príkazy ktoré bude potrebovať, potom z toho pola si vytvorí program a ten cez eval spustí. Do čitatelnej podoby by si to mal dostať jednoducho keď si rozbeháš u seba php debugger osobne používam pluginy do vscode akurát php tam nemám a nebudem to teraz rozbehávať. Keď to preženieš cez nejaký beautify/linter/debugger potom ťa bude zzrejme zaujímať ten výsledný eval $v882[$g9594['e7087f'][49]]
namiesto ucenia na KRY https://pastebin.com/YhjCaSak v podstate ti POSTom vie pravdepodobne executnut lubovolny php skript co ti posle
Diky za pomoc a tipy panove.
COMPOSER EVA PHP Podarilo sa niekomu nainštalovať Composer lokálne do WWW zložky na Evu?
https://getcomposer.org/download/ jop, instaloval som to s tymto prepinacom: php composer-setup.php --install-dir=./cesta/do/tvojho/projektu nasledne spustas composer v projekte cez ./composer.phar
Zobrazit všechny odpovědi (1)
IPP PHP Chápete někdo proč? Hledím na to, ale nemůžu na nic přijít... co mu vadí?
$ stačí na začiatku
teda $this->buff
:D na to potřebuješ být inženýr abys na to přišel :D
ale proč teda mu teda $this->$query nevadí?
Zobrazit všechny odpovědi (4)
nevadi mu to lebo query je ako parameter funkcie, takze na nu vidi
ale $this->query pak ukazuje někam uplně jinam než $this->$query, nemýlím se? na to bych si asi dával pozor ;-)
samozřejmě, $query se vyhodnotí jako string a na takový atribut se přistoupí do $this
Ano. Když dáš $a = "query"; tak je $this->query to stejné jako $this->$a Zkrátka dynamicky založený key :)
cuz php
wtf? Ok, každopádně díky, bez druhého $ to funguje :D
$this$neco se chova rusim jako $$
* $this->$neco
Kdyz mas $neco='pepa' tak $$neco je to samy jakobys udelal $pepa
... jasně... takže prostě černá php magie - nepoužívat, chápu... :D
přepiš to na $this->buff = $tokens
Ted jina otazka, proc pouzivas klicovy spovo var v php?
Zobrazit všechny odpovědi (7)
lebo môže
Zkus definovat nějakou proměnnou ve třídě jen s $ a bez var před tím. Nevím, jak tobě, ale mně to teda nadává něco s parse errorem ;) ale jen ve třídě
No proto existuji klicova slova jako private, protected a public
protože mi to kvůli tomu extra $ řvalo, pokud jsem nastavil atributy jako private... tak jsem je nastavil na var
tak to extra $ dej do haje a nastav atributy normalne...
K čemu je public?
Pokud bys k ni z venku nechtel pristupovat prez setter a getter tak muze byt public a pristupuje se k ni primo prez -> ...to je sice nehezky zpusob porusujici zapouzdreni, ale ma sve vyuziti.
A zkus si tu teidu prejmenovat tak, aby nemela shodny jmeno s funkci...a jeste lepe... classy zacinej velkym pismenem, funkce malym... pak i pri kolizi nazvu poznas lehce co je co
Zobrazit všechny odpovědi (4)
on je to konstruktor
For backwards compatibility with PHP 3 and 4, if PHP cannot find a __construct() function for a given class, it will search for the old-style constructor function, by the name of the class. I takové věci se stanou, když neznáš php a snažiš se přetáhnout sem věci z Javy :D
Pro kontext: první verze PHP5 vyšla v roce 2003. Poslední verze PHP4 v roce 2008. Fakt bych nepoužíval 14 let staré věci.
K pojmenovávání: v PHP je konvence (a beztak je na to i nějaké PSR) třídy pojmenovávat PascalCase, metody camelCase. Ve všech OO jazycích by mělo platit, že jméno třídy je podstatné jméno (je to objekt), jméno metody sloveso (je to akce).
IPP PHP kto používa mb_substr() funguje vám na merlinovi?
Předpokládám, že funguje, když mi pokusný odevzdání prošlo v pohodě :)
Zobrazit všechny odpovědi (4)
lebo som si to chcel otestovať a hádže mi Call undefined function
To by se ti opravdu stát nemělo (aspoň ne na php5.6)
xvican02@merlin: ~/Dokumenty$ php5.6 test.php Fatal error: Call to undefined function mb_str() in /homes/eva/xv/xvican02/Dokumenty/test.php on line 5 xvican02@merlin: ~/Dokumenty$ cat test.php <?php $strtest = "čťťžížíčťčéč"; echo mb_str($strtest,0,3); ?> stále mi to vypisuje
Protože mb_str neexistuje Nejspíš myslíš mb_substr jak píšeš v prvním příspěvku, ale v kódu máš mb_str
IPP SYN PHP ahoj, potrebovala bych poradit jak na urcite casti tohoto projektu. Pokud budes ochotny, napis zpravu :] EDIT: ochotny/ochotna :D
holky nebereš ? :D
PHP Zdravim, stretol sa niekedy niekto s touto chybou? "PHP Catchable fatal error: Object of class Info could not be converted to string"
a nesnažíš se vypsat objekt misto stringu ? :D jen tip :D
snazim sa vypisat pole objektov pomocou print_r, ale kazda polozka daneho objektu je string, pritom niektore polozky vypise a niektore nie, pritom su ukladane totozne .....trochu psycho :D
zkus vardump
Zobrazit všechny odpovědi (2)
nepomaha nijaka takato bezna vec, problem je pravdepodobne v ulozeni, co si v PHP neviem vysvetlit
vyriesene, viditelnost premennych triedy je svina :D...dik za ochotu ;)
A nemas nektery promenny tech objektu privatni, resp. pro okoli neviditelny?
Zobrazit všechny odpovědi (1)
problem bol v prekryti globalnej premennej lokalnou,..ale uz vyriesene dik ;)
job PHP ahoj, hledáme posily pro projekt v PHP7 (ZF3, mysql, mongodb, docker) - bereme i studenty od 20hod/týden, práce je fest hodně :D koukněte na web níže je tam info o našem týmu nebo rovnou napište na chcidotymu@techfides.cz
http://team.techfides.cz/php-developer/
job PHP ahoj, hledáme posily pro projekt v PHP7 (ZF3, mysql, mongodb, docker) - bereme i studenty od 20hod/týden, práce je fest hodně :D koukněte na web níže je tam info o našem týmu nebo rovnou napište na chcidotymu@techfides.cz
http://team.techfides.cz/php-developer/
job PHP ahoj, hledáme posily pro projekt v PHP7 (ZF3, mysql, mongodb, docker) - bereme i studenty od 20hod/týden, práce je fest hodně :D koukněte na web níže je tam info o našem týmu nebo rovnou napište na chcidotymu@techfides.cz
http://team.techfides.cz/php-developer/
IDS Oracle PHP Zdravím, zkoušel jste někdo připojit se na školní Oracle databázi přes PHP? S kolegou jsme zkoušeli všechno možné, (framewoarky, stahování nastrojů oracle, spouštění na školním serveru....) ale za nic na světě se nám nepodařilo se na DB ani připojit. Vždy je problém s Oracle driverem.
https://www.facebook.com/groups/fitbit2014/permalink/786421048128750/
Díky, ale o Adminera mi nejde. Chtěli jsme v PHP vytvořit aplikaci, která bude s DB pracovat. Tedy jde mi o to připojit se k DB přímo z vlastního PHP kódu.
Zobrazit všechny odpovědi (2)
Ja dosel k tomu ze bych musel na VPS udelat build php s --with-oci8, tak jsem se na to .... :)
Já jsem to nakonec napsal v Jave EE a měl jsem pokoj :D, taky mi to nešlo ...
Tuším, že jsme to loni dělal tak, že jsme to naimportovali do MySQL databáze. Neměl by to být příliš velký problém. Databázi jsme pak vytvořili na EVĚ.
Jaky pouzivas driver?
Jestli tam mas OCI, tak si tohle uloz na serveru do /etc/tnsnames.ora: gort= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = gort.fit.vutbr.cz)(PORT = 1521)) ) (CONNECT_DATA = (SID = dbgort) ) ) a pak v oci_connect pouzij misto easy connect stringu gort (coz je nazev toho profilu)
já to pomocí php nedělal, protože ani na evě ani na merlinovi není podpora OCI driveru... takže jsem přešel na JAVU, kde jsem si stáhl jar archív s podporou potřebného driveru..
Zobrazit všechny odpovědi (3)
Nemá JDBC nativní podporu pro Oracle?
pokud myslíš nativní podporou to že z Oracle si ten JAR balík můžeš stáhnout tak ano mají.... jinak nemají
Jo jasně, špatně jsem tě trochu pochopil :)
IPP CLS PHP Kvůli chybě v hodnotícím skriptu u CLS se provedly špatně testy číslo 40 a víc, takže tyto se budou testovat znovu.
Odkial mas toto info ?
Zobrazit všechny odpovědi (4)
Křivka to dneska říkal na reklamacích.
Takže sa da očakavať bodove zvýšenie :D
Snad jo (y) :D
ty jo hadam nebudu mat jeste min ...
job php Ahoj, do našeho týmu hledáme nováčky na pozici PHP programátor. Nabízí full i part-time s volnou pracovní dobou, takže se dá práce stíhat při studiu. Více informací na uvedeném e-mailu nebo přes SZ ;-)
prace job php Ahoj, do našeho týmu hledáme PHP programátory. Práce je možná na plný i částečný úvazek - samozřejmě s flexibilní pracovní dobou. Pokud máte jakékoliv otázky tak se ptejte tady na FB nebo na uvedeném e-mailu ;-)
prace job php Do našeho skvělého týmu hledáme PHP programátory. Máš týmového ducha, smysl pro humor, jsi spolehlivý, odpovědný a toužíš se učit stále něčemu novému? Pokud se vyznáš v Nette, MySQL, JavaScriptu, AJAXu, ozvi se nám na e-mailu hello@appsdevteam.com. Najdeš u nás pohodové pracovní prostředí, fajn tým, profesní rozvoj, práci s nejnovějšími vývojovými technologiemi a spoustu dalšího. Pořádáme nejrůznější firemní akce typu LAN párty, laser game, paintball, grilovačky, posezení a tak dále. Odměnou bude také zajímavé platové ohodnocení v závislosti na tvých dovednostech. Více informací o naší firmě Apps Dev Team najdeš na http://appsdevteam.com/. Ozvi se nám bez vykání na e-mail hello@appsdevteam.com nebo telefon 774 221 242.
prace job php Do našeho skvělého týmu hledáme PHP programátory. Máš týmového ducha, smysl pro humor, jsi spolehlivý, odpovědný a toužíš se učit stále něčemu novému? Pokud se vyznáš v Nette, MySQL, JavaScriptu, AJAXu, ozvi se nám na e-mailu hello@appsdevteam.com. Najdeš u nás pohodové pracovní prostředí, fajn tým, profesní rozvoj, práci s nejnovějšími vývojovými technologiemi a spoustu dalšího. Pořádáme nejrůznější firemní akce typu LAN párty, laser game, paintball, grilovačky, posezení a tak dále. Odměnou bude také zajímavé platové ohodnocení v závislosti na tvých dovednostech. Více informací o naší firmě Apps Dev Team najdeš na http://appsdevteam.com/. Ozvi se nám bez vykání na e-mail hello@appsdevteam.com nebo telefon 774 221 242.
prace job php Do našeho skvělého týmu hledáme PHP programátory. Máš týmového ducha, smysl pro humor, jsi spolehlivý, odpovědný a toužíš se učit stále něčemu novému? Pokud se vyznáš v Nette, MySQL, JavaScriptu, AJAXu, ozvi se nám na e-mailu hello@appsdevteam.com. Najdeš u nás pohodové pracovní prostředí, fajn tým, profesní rozvoj, práci s nejnovějšími vývojovými technologiemi a spoustu dalšího. Pořádáme nejrůznější firemní akce typu LAN párty, laser game, paintball, grilovačky, posezení a tak dále. Odměnou bude také zajímavé platové ohodnocení v závislosti na tvých dovednostech. Více informací o naší firmě Apps Dev Team najdeš na http://appsdevteam.com/. Ozvi se nám bez vykání na e-mail hello@appsdevteam.com nebo telefon 774 221 242.
IPP DKA PHP Celé mi to funguje (hurá), až na české znaky. Jsou-li na vstupu automatu české znaky, tak dostanu exit code 1. To by nebylo ještě nic tak podivného, ale ten exit code 1 není ode mě! Může mi někdo prosím poradit? mb_internal_encoding("UTF-8"); $text = file_get_contents($input, true) or exit(2)
možno sa to už riešilo https://www.facebook.com/groups/fitbit2014/permalink/782719978498857/
Hold čeština je zlo. Pokusil jsem se opravit a pořád to samé.
Šíma Tomáš: a jsi si jist, že ti to skape zrovna na file_get_contents? To se mi trošku nezdá.. PS: A není úplně dobré načítat vše přes file_get_contents - nebylo by lepší postupné načítání?
PHP cau, resim mensi problem v PHP, mam tridu class Test() { // ... var $pole = array(); // ... } kdyz si vytvorim objekt a pres nej pristupuji k poli a chci ho napushovat, tak mi nakonec zustane jen string s posledni hodnotou kterou jsem tam dal zkousel jsem array_push() nebo metodu ktera provadel array_push() Muzete mi nekdo poradit, kde delam chybu?
Místo "var" se píše "private" a místo array_push(); se dává $this->pole[] = $value;
Ukaz kod, jak pracujes s tim objektem a polem.
Vlastimil: Diky uz to jede
Já zrovna toto řeším :D :D :D
IPP PHP Solved Zdravim, potrebuju v php porovnavat dva stringy, s tim ze chci vratit jejich rozdil (uloha XTD), nema nekdo nejaky tip nebo hint? Nejlepsi by bylo neco jako obdoba diffu v php, jenze neco takoveho je v knihovne xdiff, ktera bohuzel neni zaznamenana v seznamu povolenych knihoven.. :/
Do nejakého dátumu sa dali nahlasovať knižnice, ktoré by si chcel, aby boli povolené. Neviem, či už nieje neskoro, ale skús to keď tak pohľadať, bolo to v nejakých všeobecných informáciách k projektu.
k čemu potřebuješ rozdíl stringů v XTD?
Zobrazit všechny odpovědi (5)
Resim zrovna kdyz bude element stejneho nazvu ale ma jine podelementy tak aby zjistil zda tam ty podelementy uz jsou z prvniho, popripade je tam dodal.. Mozna ale na to jdu moc slozite :D
podle mě k tomu přistupuješ úplně špatně... prostě máš pro každej elemnt (=tabulku) pole s parametrama, value a cizíma klíčem do ostatních tabulek (=sloupce), každou tabulku máš jenom jednou
no divej ja to delam tak, ze jakmile narazim na ten element tak si vse potrebne ulozim do promenne.. pak se zanorim do tech podelementu a udelam to same.. Ted ale narazim opet na element s nazvem, ktery zapsany uz mam.. Tak potrebuju updatovat ty puvodni data, nevytvaret novou tabulku.
a proč si ty data ukládáš jako řetezec, abys mezi tím dělal nějakej diff? prostě se podíváš, jestli tam sloupec s tím názvem existuje,a když ne, tak ho přidáš
No ale ja tu prvni tabulku uz mam ulozenou v pomocnem stringu..
http://php.net/manual/en/function.xdiff-string-diff.php ?
Zobrazit všechny odpovědi (1)
Toto jsem chtěl, ale ta knihovna není povolena.. Ale už vyřešeno, udělal jsem diff polí, to je ve standardní:D
PHP Zdar, mal by som nejake zakazky pre ludi, ktorym prisiel projekt do IPP malo challenging. Bude toho viac, aktualne by som ale potreboval toto: https://webtrh.cz/336575-sreality-php-kniznica Ak nam to spolocne bude klapat, tak dalsia praca bude tiez :)
A tej dokumentacie sa netreba zlaknut. To len vyzera tak hrozne. V skutocnosti je to celkom easy, len na to nemam cas.
musím říct, že projekt do IPP mi přijde víc challenging jako tohle.. ale jinak mám práce nad hlavu, takže se nehlásím :-)
Neviem, IPP si pamatam len z pred par rokov a bolo to celkom easy. Za mojho casu sme ale php nemali :)
IPP PHP SOLVED skusali ste niekto v bash skripte spustat php a kontrolovat navratovy kod? Vzdy mi dava $? 0 aj ked php skript vrati 1
vracis kod exitem?
ano, ked ho spustim rucne v terminali vrati 1, ked sa ale zavola v skripte s tymi istymi argumentmi tak echo $? je vzdy 0
no mozna se ta nula bere jako navratovej kod toho skriptu :D
Mozno blbost, ale co ak chybovy kod vrati php do tvojho skriptu, ale ty vratis 0 zo skriptu ako uspech? Akoze bash skript zbehol ok
Zobrazit všechny odpovědi (4)
jj přesně to jsem ted chtel napsat
v skripte kontrolujem $?
si ho můžeš otevřít ne? :D jinak ano návratový kod se přesměrovává do testxx.!!!
toto sa netykalo skolskeho skriptu...$? ako premenna
pouzivas skolni scripty ? tech par co tam bylo ve wisu ?
Zobrazit všechny odpovědi (1)
nie moj, len v cykle skusa rozne vyrazy ci berie co ma a naopak
vyriesene php $prog vs. php syn.php => eval
IPP PHP Dávám zde konkurenční příručku k PHP.. :D
http://www.phptherightway.com/
Pokud tím chceš lidem pomoct využít PHP v praxi nebo k věcem ke kterým by se mělo používat tak to vypadá hodně pěkně, každopádně v kontextu k projektu je to docela crap..
Zobrazit všechny odpovědi (1)
no já na to zatím moc nekoukal. ale vypadá to pěkně :)
Tohle je nejlepší věc na internetu k PHP, sice se nehodí k projektu, ale kdyby někdo chtěl dělat webové aplikace a podobné věci tak je to jako bible :)
Bohužel ani tuhle příručku nemohu zcela doporučit, některé postupy jsou tam zastaralé a nevhodné. Zcela tam chybí práce s XML a šablonovací systémy jsou odfláknuty. Rozhodně je však lepší než dříve uvedený odkaz, který se zabýval PHP 5.1, což je dnes nepoužitelné.
Zobrazit všechny odpovědi (3)
Můžu se zeptat na konkrétní věci, které jsou zastaralé? Mě naopak přijde, že je tam spousta věcí o kterých hodně lidí nemá ani páru např: testing nebo deployment. Práci s XML nepovažuji za nějakou "výjimečnou činnost", která by tam nutně potřebovala být uvedena, to už tam rovnou může být i dalších 10 formátů souborů, navíc v PHP se spíše používá JSON. A co se týče šablonovacích systémů, tak je tam základ a další odkazy uvedené níže. Spíše se mi líbí, že ukazuje a shrnuje obecný přehled ...
Například OOP je tam jen v takovém náznaku, interface rovněž jen v náznaku, ani zmínka o polymorfismu a k tomu používají zavrhovanou maďarskou notaci. Přitom v dnešním PHP se dá normálně programovat objektově, včetně užívání návrhových vzorů, jejichž implementace vypadá mnohem elegantněji než např. v Javě a díky kterým se aplikace dá nejen zkrátit, ale i zrychlit.
Vlastimil Pospíchal myslím, že nikoho moc tvé doporučení nezajímá.. ;) On PHP je stejně šílený jazyk a slepenina všeho možného.. To, že v něm děláme projekt je asi ústupek "běžným programátorům", kteří PHP často propagují a milují.. Každopádně důvěřuji svým kolegům, že si materiály tohoto typu sami přeberou (pokud je už budou procházet) a vyberou si dobré věci.. Jo a jen pro tvé info (očividně nejsi spolužák.. co tu vůbec děláš?) máme projekt vypracovat v PHP 5.3.. Takže ať žijí "zastaralé postupy" :D
IPP PHP Narazil jsem na docela zajímavou minipříručku (takovej úvod do) PHP, a jelikož mi to příjde docela cool, tak sdílím :)
http://bisqwit.iki.fi/story/howto/php/#
Pozor na některé zvrácenosti PHP, jako že '1000' == '1e3', $foo = TRUE AND FALSE, nebo echo TRUE['xyz']
Nebo si zkuste, co udělá $a = "aaa"; $a++; echo $a;.
PHP má mnoho záludností, ale pokud programátor udrží svou fantazii na uzdě, tak žádná významná rizika nehrozí. V PHP vůbec proměnné typu boolean nepoužívám, považuji to za zbytečnost a zdržování v kódu.
Na tu příručku bacha! Obsahuje spoustu bad practices a rozhodně byste se z ní neměli PHP učit.
PHP SOLVED Nazdar, mám nějaký příkaz ukončení "or die(...);" pracuji se souborem, který mám otevření pomocí fopen(). Potřebova bych před die(...) vložit fclose(...). zkoušel jsem to uzavřít do {} obdobně jako skupinu příkazů v C fce_1(...) or { fclose(...); die(...); } ale nefunguje to. Možnost 1: nalezení lepšího zápisu, který bude fungovat Možnost 2: pokud by třeba die(...) za sebou uklidilo (uzavření spojení s databázemi, zavření souborů...) tak bych to nemusel řešit :) ale jestli to tak funguje, to nevím. Díky
proč místo or jednoduše nepoužít if?
fclose pred die nepotrebujes, protoze php pri terminaci skriptu soubor uzavre samo...
1) Proč ne IF? ... hmm, dobrá otázka :D 2) ok, die(...) uklízí nejen po sobě, díky
... a proč vlastně máš tendenci pracovat s die()?
proč ne? Je to jednoduché a pokud skript vypadá nějak takto je_splněno_1() or die(...) je_splněno_2() or die(...) je_splněno_3() or die(...) šáhni_do_DB() or die(...) najdi_soubor() or die(...) A pokud se něco nepovede, dále pokračovat nemůžu, tak si myslím že je to v pořádku. Nevidím na tom nic špatného, ani výrazně lepší jednodušší cestu.
Protože pokud máš produkční server a umře ti to tam s chybovou hláškou "mysql_error()" tak hodně štěstí. Pokud máš development server, tak předpokládám nějaký ladicí nástroj. Dle toho co píšeš jsi v tom začátečník, die() se používalo před lety ještě s extenzi mysql_*, která je nyní už zastaralá od verze 5.3 mám pocit. Dneska se používají jiné přístupy, ale samozřejmě ti v tom nebráním :D
není potřeba ukončovat spojení s databází a pokud umíráš tak ani uzavríat soubory.. PHP má narozdíl od C garbage collector a ten to uklidí... :)
no potreba to neni, ale patri to tak nejak k dobremu programatorskemu vychovani. v Ccku po tobe OS taky uklidi soubory, kdyz skoncis :)
IPP PHP Zdravím, máte někdo problém s používáním is_file/is_dir na Merlinovi? Před pokusným odevzdáním mně skript v pořádku prošel (80-100%). Teď jsem zkusil skript znovu spustit na merlinovi a má s těmito funkcemi problém. Setkal se s tím ještě někdo?
Dneska jsem to teprve použil a normálně mi to tam fungovalo.
mne to neslo robilo pi* ale trebalo to pustis s parametrom to php