Datatables php grid

Datatables php grid

offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Pozdrav,
potrebna mi je neka tabela, tj. skripta za citanje podataka iz mysql baze i ispisivanje u tabeli.
Ja sam koristio Datatables jer ispunjava skoro sve moje zahteve: izmena, unus, brisanje, pretrazivanje, dobra paginacija i preglednost. Izgleda ovako:



Medjutim ono sto se meni ne svidja je sigurnost ove skripte na serveru, jer ona koristi
jQuery.getJSON - to znaci da uvek postoji onaj .php fajl koji sadrzi podatke sa citanje.



Da li neko ima neki predlog ili alternativu? Hvala unapred.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Miljan Ilic
  • Pridružio: 18 Jun 2014
  • Poruke: 178

Mislim da niko ne moze pristupiti tom .php fajlu ako nije ulogovan. Tako se prave takve .php skripte. Pozz



offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Moze, bez obzira da li je ulogovan ili ne, druga slika u mom prvom postu to dokazuje.

[Link mogu videti samo ulogovani korisnici]

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Tu ti i lezi problem - dozvoli prikaz tog JSON-a samo ako je korisnik ulogovan.

Client-side JS koji se izvrsava u browseru ne moze da cita iz baze bez pomoci nekog server-side jezika.

offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Ok, hvala. Ja sam mislio da u tom .php fajlu dopisem nesto tipa:
sec_session_start(); if (login_check($mysqli) == true) json_encode($result);

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Mislio si da dopises dva reda u kome imas dve custom f-je o kojima niko osim tebe nikakvog pojma nema, a da ti mi kazemo da li je to u redu ili ne?

Da ne spominjem da ovo ne radi - json_encode vraca rezultat, ne stampa ga.

offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Rastafarii ::Mislio si da dopises dva reda u kome imas dve custom f-je o kojima niko osim tebe nikakvog pojma nema, a da ti mi kazemo da li je to u redu ili ne?

Da ne spominjem da ovo ne radi - json_encode vraca rezultat, ne stampa ga.

-hteo sam da napisem "echo json_encode($result);"
Inace to je bio samo primer, moja skripta izgleda potpuno drugacije.

Ovo je client side deo: (JS)
    $('#mojaTabela').DataTable( {         dom: "Bfrtip",         ajax: "json.php",         columns: [             { data: ... },         ],         select: true,         buttons: [         ....         ]     } );
json.php (server side):
// DataTables PHP library include( "DataTables.php" );   Editor::inst( $db, 'db_demo' )     ->fields(         Field::inst( 'bla_bla' ),         ....     )     ->process( $_POST )     ->json();
Ono sto meni treba je da se proveri da li je taj json.php validan, koristio bih ovu f-ju (nadam se da je ok)
function isJSON($string){    return is_string($string) && is_array(json_decode($string, true)) ? true : false; }

i da glavi problem sa pocetka price je da taj .php ne bude citljiv. Ja se izvinjavam ako nisam bio jasan.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Ajd redom - tvoja f-ja isJSON() moze u odredjenim slucajevima da dovede do greske tipa E_WARNING. Sigurnije je da proveravas ovako:

function isJSON($string) {     return @json_decode($string) && !json_last_error(); }

Kad ispred poziva funkcije stavis @, samo za taj poziv iskljucujes prikaz moguce greske, dok json_last_error() vraca (eventualnu) gresku prilikom poslednjeg dekodiranja.

Sama provera da li je output f-je json mi se cini nepotrebnom.

Sto se tice "necitljivosti" PHP fajla - ako on ne bude citljiv, ni DataTables.js nece moci da ga procita. Ako je skroz otvoren - jos gore - svi ce moci da ga citaju.

Dakle - tebi treba provera da li korisnik moze da edituje rekorde u tabeli ili ne. Ako imas tu proveru na stranici koja prikazuje datatables (ona gde je JS), samo taj deo dodaj u json.php. Ako nemas - onda ti je potpuno svejedno sto neko eventualno moze da manipulise json.php fajlom - jer isto to moze i preko editora, plus mu je lakse jer ima graficki editor.

Ko je trenutno na forumu
 

Ukupno su 1140 korisnika na forumu :: 117 registrovanih, 9 sakrivenih i 1014 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Aleksej, Asteker, avijacija, B61, babaroga, BB, black sabah, bobomicek, bojan313, bojcistv, bokisha253, Borej, Boris90, boromir, bpvl, brause, burevestnik, Cian, Cicumile, cikadeda, CikaKURE, cvrle312, dejanbenkovic, Dioniss, djukapfc, Dogma21, dragoljub11987, dusan2022, Electron, Fabius, famoso, FOX, Frunze, Gerilac, Haris, ihis, Ivan001, jalos, Jeremiah, JK, jodzula, klepesina, kokodakalo, Kolimator, Koridor, Kubovac, kybonacci, lord sir giga, LostInSpaceandTime, Lotus, luka35, M74AB3, Macalone, Mackomen, Mane88, marko308, maximir, menk, mercedesamg, Mercury, Metanoja, MikeHammer, Miki 24pbr, Milos1389, mkukoleca, mnn2, mocnijogurt, nebkv, nevjerna beba, Paklenica, Papadubi, Parker, Pavle29L, pceklic, peradetlić, Plavi Jadran, powSrb, Primus17, radoznao, sabros, Singidunumac, Sir Budimir, Siti2, Smajser, Sr.Stat., sspp, starlights, stegonosa, superwhy, t84dar, tamno.nebo, TheDictator, theNedjeljko, tihi-posmatrac, Tihi86, Toper, TRZH92, tubular, Username1000, vaso1, vathra, vidra boy, Vlada78, vladaa012, Volkcho, VP6919, Vrač, Vzor50, yagosh, yufighter, YugoSlav, zajcev1, ZlatniRez, Zmaj001, zmajognjeniivan, Zoran1959