22786
Html-, css- és php-help
  • j0nNyKa
    #22266
    session pl segít, egyébként kötözködhetünk is, abból meglesz a megoldás
  • SzirmosSzisza
    #22265
    De megint nem a kérdésére válaszoltok, mi akadályoz meg, hogy ugyanazt a folyamatot curl vagy egyéb más klienssel végig vidd? Ugyanúgy megkapod a tokent és ugyanúgy el tudod küldeni akármivel.
  • j0nNyKa
    #22264
    auth token mivel mindig egy generált dolog szerver oldalon, így ha azt használod az api hívásnál, jó vagy
    ha nem OAuth2-t használsz, használj azt, és kb meg is van oldva a problémád
  • SzirmosSzisza
    #22263
    Szerintem sehogy. User-Agentet és valami saját headert tudsz nézni, imho ezt nem lehet 100%-osan levédeni.
  • passatgt
    #22262
    Igen, JWT-t használok, de a kérdés nem erre vonatkozott. Röviden annyi, hogyan tudom megakadályozni azt, hogy az API hívásokat a saját applikációnkon kívülről is elérhetők legyenek?
  • Bercy #22261
    Elo lepesben termeszetesen autentikalni kell a felhasnzalot. Ez tortenhet kulondoboz adatok/tulajdonsagok/stb bekeresevel. Boven olvashatsz rola a neten. A legelterjedtebb megoldas a "amit tudsz" alapu azonositas (user/password) de manapsag a "ami vagy" is kezd elterjedte vallni a touch id miatt.
    Miutan az API-d azonositotta a felhasznalot azutan hasznalhatsz egy tokent. Manapsag eleg elterjed a JWT (json web token). Az kliens app minden egyes keresnel ujra kuldi a tokent (a token valtozhat munkamenetek es akar keresek kozott is).
  • passatgt
    #22260
    Egy natív mobilos appot csinálok ami egy saját rest api-val fog kommunikálni. Az applikációban be tudnak regisztrálni és be tudnak lépni a felhasználók. Belépés után a felhasználó paramétereivel elérek pár endpointot az api-ban. Hogyan tudom azt limitálni, hogy csak belépés után, a mobil alkalmazásból érkező api hívásokra válaszoljon a rendszer?

    Első ötletem az volt, hogy "Beleégetek" az applikációban egy API kulcsot amit ellenőrzök a szerveren és mivel https-en kommunikálok, ez nem fog látszódni. Ez iOS-en még jó is lenne, de egy APK simán visszafejthető és megvan az API kulcs.

    Más ötlet esetleg, hogy biztonságosabb legyen? Ráadásként a későbbiekben egy-egy felhasználónak szeretnék jogot adni arra, hogy a saját rendszerében is felhasználhassa az API-t, tehát valami ilyen megoldást keresek, ami részben kinyitható a külvölág felé is.
  • MerlinW
    #22259
    Jaja én is Docler-t szoktam ajánlani. Magas specifikáció, gyors szerverek, jó support.
  • SzirmosSzisza
    #22258
    Nekem ramnode-nál meg digitalocean-nál vannak. Ramnode-nál, ha elég az OpenVZ akkor van gép kb ~5.5k/év áron, de van rendes kvm is, csak az értelemszerűen drágább. Digitalocean-nál, meg ha esetleg diák vagy akkor githubról lehet szerezni $50-nyi kupont. Ha magyar kell akkor passz, általában marha drágák, ahogy nézem a docler kb olyan árban van mint az az webidea, csak több rammal meg tárhellyel, cserébe nem korlátlan adatforgalom (kérdés, hogy a másiknál ténylegesen korlátlan-e, de sztem 1TB elég havonta).
  • Neocortex
    #22257
    thx
  • j0nNyKa
    #22256
    tevagy
    én amúgy webideánál vagyok, ők gecijóak
  • Neocortex
    #22255
    jóni pls
  • Jim Morrison
    #22254
  • j0nNyKa
    #22253
    tudom csak reklámoztam kicsit, hátha benyalod!
  • Neocortex
    #22252
    virtual private server, nem VPN
  • j0nNyKa
    #22251
    ipoltalom obviously
  • Neocortex
    #22250
    jóféle VPS-t tud valaki ajánlani?
  • SzirmosSzisza
    #22249
    Lövésem sincs, nem értek a PHP-hoz. Ezt meg ezt nyálazd át.
  • j0nNyKa
    #22248
    használj a foreachekben beszédesebb változóneveket, és akkor fogod látni
  • kekeN7
    #22247
    Ja bocsi, jogos, másolás miatt benne maradt egy kis felesleg :D (mondjuk működött) Meg előtte nyilván kapcsolódok, csak azt nem másoltam be


    $newsdata = $mysqli->query("SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC");


    Cat 02: köszi, de ezzel a kiírás hogy történik? Pont az a lényeg, amivel bajban vagyok :D
    Nyilván a selectbe is bele kell írni, de hogy a tömbösdibe hova rakom és hol olvasom ki, az a rész nekem kínai
    Utoljára szerkesztette: kekeN7, 2016.03.20. 22:25:44
  • j0nNyKa
    #22246
    a kódra
  • kekeN7
    #22245
    Mármint a kódra gondolsz vagy az én körítésemre?
  • SzirmosSzisza
    #22244
    Gondolom bele kell még rakni a SELECT-be a titlelinket, meg

    $nav[$year][$month][$news['id']] = $news['title'];

    helyett

    $nav[$year][$month][$news['id']]]['title'] = $news['title'];
    $nav[$year][$month][$news['id']]]['link'] = $news['titlelink'];

    És átírni a kód többi részét is ennek megfelelően.

    szerk.: így talán szebb

    $nav[$year][$month][$news['id']] = array("title"=>$news['title'] , "link"=>$news['titlelink'] );
    Utoljára szerkesztette: SzirmosSzisza, 2016.03.20. 22:15:52
  • j0nNyKa
    #22243
    ezt az első sort nem értem, wtf is that :D
  • kekeN7
    #22242
    Van egy ilyenem:


    $newsdata = $mysqli->query($sql = "SELECT `id`, `title`, `date` FROM `news` ORDER BY `date` DESC");

    foreach ( $newsdata as $news ) {
    $year = date('Y', $news['date']);
    $month = date('F', $news['date']);
    $nav[$year][$month][$news['id']] = $news['title'];
    }


    <ul class="archive_year pad-top">
    <?php foreach ( $nav as $k => $v ) { ?>
    <li class="years"><?php echo $k ?>
    <ul class="archive_month">
    <?php
    foreach ( $v as $k2 => $v2 ) {
    ?>
    <li class="months"><i class="icon-caret-right"></i> <?php echo $k2.' ('.sizeof($v2).')' ?>
    <ul class="archive_posts">
    <?php
    foreach ( $v2 as $k3 => $v3 ) {
    ?>
    <li class="posts"><i class="icon-angle-right"></i><a href="#"><?php echo $v3 ?></a></li>
    <?php
    }
    ?>
    </ul>
    </li>
    <?php
    }
    ?>
    </ul>
    </li>
    <?php
    }
    ?>
    </ul>


    Ez így tökéletesen működik. Viszont nekem még egy dolog kéne bele, a link helyére, egy szintén az adatbázisból kiolvasott "titlelink" érték. A foreach-es történetet sajnos még mindig nem látom át (egyébként is csak barkácsolok), valaki bele tudná nekem kalapálni? Sokat segítene vele. Köszi előre is! :)

    Utoljára szerkesztette: kekeN7, 2016.03.20. 21:45:57
  • Jim Morrison
    #22241
    Ja mondjuk igaz, régről bent maradt, valamiért meg se fordult a fejemben hogy átírjam... :c
  • SzirmosSzisza
    #22240
    Miért jobb így létrehozni, mint hivatkozni rá úgy, hogy $value["akármi"]? (vagy hasonló, gondolom asszociatív tömbön mész végig)
  • j0nNyKa
    #22239
    ja nem, azt így szokásí
  • Jim Morrison
    #22238
    van egy ilyen:

    foreach ($r as $key => $value)
    {
    $$key = stripslashes($value);
    }

    és akkor nekem ez létrehoz olyan változókat, hogy $kutya , $macska , $teknos.
    Viszont mivel nem úgy hoztam létre őket, hogy $kutya = "Magdi", ezért az IDE pirossal aláhúzza, mert undefined. Ezt részben ki lehet kerülni így:

    foreach ($r as $key => $value)
    {
    /** @var $kutya $description */
    /** @var $macska $description */
    $$key = stripslashes($value);
    }

    kérdés: van e valami más, jobb mód?
    Utoljára szerkesztette: Jim Morrison, 2016.03.04. 22:00:06
  • j0nNyKa
    #22237
    mit jelent a kérdésed?
  • Jim Morrison
    #22236
    Mi a legjobb módja, hogy a PhpStorm variable variable-t ne jelezzen undefined nak?

    /** @var $valami_egy $key */
    /** @var $valami_ketto $key */
    ...

    nem tűnik a legjobb megoldásnak (már nem jelöli undefined-nak, csak lehet, hogy undefined), gondoltam hátha van valami más módja is.
  • Jim Morrison
    #22235
    Tudtok e esetleg olyan CMS-t vagy minek nevezzem, amit lehetne használni egy modul és téma galériának? mint amilyen a nagyobb CMS eknek van, (meg kisebbeknek is), lényegében ilyen showcase.
    Lényeg, hogy fel lehet tölteni saját modulok, témákat, stb stb.
  • j0nNyKa
    #22234
    ez azért érdekes, mert a gulp programozós, a grunt meg sima konfigolás :)
    de egyébként kis projektnél majdnem mind1 melyiket választod, ilyen less, sass, minify, browserify és társaira találsz hétmilliárd példát mindkettő esetén
    .. mondom, gruntra talán egy lehelettel többet
  • Blum
    #22233
    Akkor úgy néz neki kell fussak még egyszer a gruntnak :)
  • MerlinW
    #22232
    Igen, én is említeni akartam a grunt-ot, az utóbbi évben azzal dolgozom (npm + grunt + bower) és nincs ilyen gond vele.
  • Blum
    #22231
    Jó ötlet, csomagokkal majd játszok egy kicsit aztán ha nem megy akkor marad a readme megoldás.
    Gruntot is próbáltam de egyszerűen nem áll rá az agyam/kezem, (számomra) feleslegesen bonyolult.
  • j0nNyKa
    #22230
    nem tud, de egy darab parancs: "nvm install 4.3.1", szerintem readme-be azt a pici helyet megéri

    bár én nem ezt a megoldást választanám, hanem addig túrnám a progimhoz tartozó node csomagokat, amíg nem találok olyan verziókat, amiknek ~mind1 a node verzió, működnek rendesen úgy önmagukban is, meg együtt is

    a less / sass csomagok tipikusan olyanok, hogy játszadozni kell velük, amíg kb stabil verziót talál az ember, de megéri azt a pár óra szopást, később napokat tud elkúrni 1-1 rossz verzió

    blum: gulp mellett a helyedben megnézném grunttal is, egy leheletnyivel kevesebbet szoktam azzal szopni, meg több a csomag, van egy rakat alternatíva mindenre - de egyébként kb ugyanaz lesz, mint a gulp, guglizz "gulp vs grunt" témában, szólnak mindkettő mellett érvek
  • SzirmosSzisza
    #22229
    Szerintem felesleges, elég leírni, hogy milyen verziót kell használni hozzá. Vagy ha ez az nvm tud fájlból fix nodejs verziót telepíteni akkor hozzáadni egy olyan fájlt a projekthez (olyanra gondolok, mint pl a bower.json amibe be lehet írni, hogy milyen csomagokat húzzon le).
  • MerlinW
    #22228
    Akkor én már nem is kellek:)
  • Blum
    #22227
    Áhá, ez volt a gond. Cache törlés megvolt de most nvm-mel felraktam a 4.3.1-et és azzal hibátlan... Köszönöm!
    Sejtettem, hogy valahol itt van az a kutya elásva mert az Arch más verziójú csomagokat rakott fel.

    Ezzel kapcsolatban egy gyors kérdés: Ha én ezt most felrakom GitHub-ra (me' miért ne, legalább azt is gyakorlom) akkor ezt readmeben illik megjegyezni, hogy ha valaki ilyen hibába fut bele akkor csinálja meg ezt és ezt?
    Utoljára szerkesztette: Blum, 2016.02.25. 16:44:27