XML konvertálása JSON objektummá vagy asszociatív tömbbé PHP-vel

Annak ellenére, hogy a JSON nagyon hódít – nyilvánvaló okok miatt, még mindig nagyon sokan használnak XML formátumokat. Többek között ilyen az RSS feed is, de az egyik legerősebb marketinggel rendelkező bérelhető webshop API-ja is, a ShopRenteré. XML-el dolgozni viszont rémálom a JSON-höz képest. Így hát felmerült a probléma, hogy  valami egyszerű megoldás kellene, ahelyett, hogy minden XML-t végignézek. Olvass tovább…

2017.02.08. 00:45 - legyes

JSON képes MySQL 5.7 telepítése Debian linuxra

A NoSQL hullám nagyon hódít, amivel én nem feltétlenül értek egyet, mert azt vallom, hogy mindent arra kell használni, amire való (azaz adatok tárolására, szűrésére, stb. SQL-t). Az egyik fő indok mellette azt szokott lenni, hogy JSON objektumokat lehet benne tárolni és azokkal lehet dolgozni. Így  kliens oldal eleve készen kapja, nem kell a backenden összerakni és szétszedni újra és újra. Olvass tovább…

2017.02.06. 15:03 - legyes

Akár percekre is megfagy a Windows 10 az SSD meghajtós gépen

ssd_i_o_stop
Az SSD-ről használt Windows 10 esetén elég gyakori jelenség, hogy a gép I/O-ja teljesen megáll. A feladatkezelő 100% lemezhasználatot mutat, de alatta azt látjuk, hogy kb. semmit sem csinál. Ilyenkor az épp futó programok között még tudunk váltogatni, az egérmutató is mozog, de bármit akarunk indítani, látszólag semmi sem történik. Ha így hagyjuk a gépet, akkor kb. fél-3 perc után egyszer csak végrehajtódik minden és megy minden tovább, mint ha mi sem történt volna. A képen látható helyen – a Feladatkezelőben – ilyenkor 100% kihasználtságot látunk és hasonlóan kicsi írási és olvasási forgalmat.
Olvass tovább…

2016.12.07. 11:15 - legyes

jQuery: Form serialized $.post, fájlokkal is

Eddig Stackoverflow-ról ellesett serializeObject() függvényt használtam a célra, de jött az az igény, hogy fájlokat is kellene küldeni a postban. Keresgéltem, de vagy szörnyen körülményes vagy félkész megoldásokat találtam csak. Így egyesítettem a találtakat:

<form id="form_new" action="#" enctype="multipart/form-data">
   <input id="szoveg1" name="szoveg1" type="text" />
   <input id="szoveg2" name="szoveg2" type="text" />
   <input id="fajl1" name="fajl1" type="file" />
</form>

Olvass tovább…

2016.11.23. 20:57 - legyes

Böngészőbe mentett jelszavak megnézése

Meglehetősen sok ember használja a böngészők “jegyezze meg az azonosítási adataimat” képességét, ami nagyon-nagyon rossz szokás. Például elég sok Facebook és SkyPE megosztásban terjedő kártékony program ismert, ami ezeket ellopja és egy központi adatbázisba tölti fel. Hogy mennyire könnyű ezekhez a jelszavakhoz hozzáférni, anélkül hogy a rendszer szólna, hogy “Hé, valaki piszkál a jelszavakat tároló szupertitkos fájlban”? Olvass tovább…

2016.11.08. 11:38 - legyes

Facebook megosztás: Nem frissül az előnézeti kép

Aki készített weboldalt és vette rá a fáradtságot, hogy beleássa magát legalább az alapvető SEO-s dolgokba, akkor tudja, hogy a Facebook OpenGraph sémás metaadatokból olvassa fel a megosztáshoz használt adatokat. Fejlesztés, tesztelgetés, optimalizálás közben viszont feltűnhet, hogy hiába írjuk át ezeket az adatokat, a Facebook akkor is azt a képet/címet/leírást teszi be, amit még először adtunk meg neki.

Sajnos ez azért van, mert a Facebook gyorsítótáraz és még a gyórsítótárat is gyorsítótárazza. Állítólag az Expire és a Cache-Control header értékeket veszi figyelembe, de személyes tesztelésem alapján egyáltalán nem érdekli a szokásos weblap beállításoknál, mert túl nagy a (negatív) lejárati idő. A cache értékeket 30 nap után frissíti. Ennek kikényszerítésére a weboldal kódjában nincs lehetőség, csak 2 módszer van:

  1. A Facebook Developers Share Debugger oldalon mi kényszerítjük ki az URL bemásolásával és a “Scrape again” gomb csapágyasra klikkelésével (van, hogy 3x is kell)
  2. A Facebook API-n keresztül kérjük meg szépen

Olvass tovább…

2016.09.29. 23:59 - legyes

Driver Backup! – Driverek exportálása

Sajnos egyre gyakoribb, hogy egy megvásárolt notebookot úgy kapunk kézhez, hogy se visszaállító lemez, se egy fél év múlva is működő – hivatalos – letöltési oldal a driverekhez. Valahogy mindig kimarad valami apróság, ami szép felkiáltójellel bosszant minket az eszközkezelőben. Ezért újratelepítés előtt ajánlott kimenteni a drivereket a megfelelő csodaprogrammal. Erre jó a Driver Backup, ráadásul ingyen van (donationware).

Használata telepítést nem igényel, de természetesen rendszergazdai jogosultságot igen. Sajnos magyarul nem tud, de magyarítható.

driverbackup2

Olvass tovább…

11:55 - legyes

Súlyos MySQL sebezhetőség: CVE-2016-6662

Sajnos megjelent egy olyan rendkívül súlyos MySQL sebezhetőség, ami a korlátozott jogokkal rendelkező felhasználókat is hozzásegíti a teljes MySQL jogosultság megszerzéséhez. Ez a jelenleg elérhető legfrissebb rendszereken is megtalálható, a biztonsági csomagok még nem tartalmazzák. Ez a sebezhetőség ugyanúgy problémát okoz a weblapokon keresztül – így a PHPMyAdminban – is. Érintett a MySQL és azok klónjai (pl. MariaDB).

Affected MySQL versions (including the latest):
<= 5.7.15
<= 5.6.33
<= 5.5.52

 

MariaDB frissítés és info: https://mariadb.com/kb/en/mariadb/mariadb-10117-release-notes/ a hivatalos telepítési (stabil) leírás szerinti változat a Debian 8 stabilban ez a csomag szerepel: 10.1_10.1.17+maria-1~jessie_amd64.deb .

MySQL infó: http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html#mysqld-5-7-15-bug

Bővebb információ a sebezhetőségről itt: http://legalhackers.com/advisories/MySQL-Exploit-Remote-Root-Code-Execution-Privesc-CVE-2016-6662.html és a több módszer közül az egyik már szerepel a MySQL bugfix changelogban itt: https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-52.html .

Magyar hír róla pedig itt: http://hup.hu/cikkek/20160914/mysql_tavoli_root_privilegium-szint_emeles_0day

2016.09.14. 17:02 - legyes

Fájl feltöltés Windows alól cURL segítségével

A cURL nagyon széles körben használt program, sokan feszegetik a határait (pl. PHP futtatás párhuzamosításban) és használják webes botok alapjául is. Nagyon sok argumentummal rendelkezik, a –help több oldalas listával örvendeztet meg.
Hogy megtaláljam később is, leírom ide, hogyan lehet fájl feltölteni POST-tal, valamint egyéb paramétereket átadni. A program letölthető kb. minden létező operációs rendszerre a https://curl.haxx.se/download.html címről.

curl -X POST -F "xml=@C:\\Data.xml" -F "api_key=d040207a" http://peldadomain.hu/api/szolgaltatas.php

Az előbbi példa PHP oldalon úgy jelenik meg, hogy lesz egy $_FILES['xml'] és egy $_POST[‘api_key’]. Ennek segítségével akár Windows alatt is automatizálhatunk könnyedén adatfrissítéseket. (A fájlok elérési útjában Windows alatt mindig dupla \ jel van, ahogy egyéb Windows-os elérési út megadásnál már megszokhattuk.)

2016.08.30. 13:17 - legyes

HeidiSQL

Próbáltam már használni a MySQL Workbenchet, a ToadSQL-t és egyéb népszerűbb programot, de valahogy mindig a HeidiSQL-nél kötöttem ki. Nem profi cucc, de az alap dolgokhoz épp elég. Jelenleg 3 féle adatbázist kezel: MySQL (MariaDB specifikus dolgokat is kezeli!), Microsoft SQL, PostgreSQL. Ezekhez több módon is képes kapcsolódni, akár SSH tunnelen keresztül is, amit a plink segítségével valósít meg. Ja és beszélni magyar 🙂 Van benne pár bug, ezért érdemes menteni ha a FullHD monitor kicsi a lekérdezés áttekintéséhez. Jellemzően akkor száll el, ha a kapcsolat/tunnel megszakad alatta (pl. elaltatjuk a gépet, vagy magentás ADSL-ünk van). Linux verzió nincs, de működik Wine-nal.

HeidiSQL2
A támogatott adatbázis típusok

Olvass tovább…

2016.08.23. 16:10 - legyes
1 2 3 4 5 9