hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 23:33



Jelenlévő felhasználók

Jelenleg 244 felhasználó van jelen :: 0 regisztrált, 1 rejtett és 243 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 8 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.22. 22:40 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
Üdv!

Megint foglalkoztam kicsit weboldal fejlesztéssel és most jquery-t készítettem ami adatokat küld egy php fájlnak ami ugye ad vissza értéket, stb. Na most azt a php fájlt bárki elérheti. Ugye POST kéréseket kezel, de nem tudom, hogy ezzel kell-e, vagy ajánlott-e a külsős elérést blokkolni, hogy csak a webszerver használhassa. Ha igen, akkor mit ajánlanak a szakértők?

Köszönöm!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.22. 22:47 
Offline
Beavatott
Avatar

Csatlakozott: 2018.01.05. 10:30
Hozzászólások: 66
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 19 alkalommal
Szia, ha minden az index.php-n megy át, akkor mindent amit include-olsz attól számold...

Tehát, ha az index.php-ben van egy include "content/tartalom.php"
és a tartalomban egy include "includes/db.php" és a mappaszerkezet a következő:

/
|-index.php
|-content
||- tartalom.php
|- includes
||-db.php

akkor működni fog..

Ha a tartalom.php-ban include "../includes/db.php" van, akkor hibát kapsz.

Nálam ez működöt.

Remélem érthető és a kérdésedre válaszoltam...

Ők köszönték meg SidLuke nek ezt a hozzászólást: duvilax (2018.05.23. 11:53)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.23. 11:11 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
Nem, nem ez volt amit kértem.

Az érdekel, hogy egy olyan PHP fájlt, amit csak a jquery használ érdemes, kell-e blokkolni a külsős felhasználóktól, ha POST kéréseket kezel. Így direktben ha hivatkozok rá csak egy üres fehér lap jelenik meg nem, de jó ez így, vagy valamit tegyek még?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.23. 11:26 
Offline
Beavatott
Avatar

Csatlakozott: 2018.01.05. 10:30
Hozzászólások: 66
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 19 alkalommal
Nálam ez működöt.

De megpróbálhatod így is.

  1. $.ajax({
  2.       url: "ajax.php",
  3.       type: "POST",
  4.       data : { name: "Tom", phone: "01234123456","action" : "save_data" },
  5.       dataType: "text",
  6.       success: function(data){
  7.           $('#response').html(data);
  8.       },
  9.       error: function(XMLHttpRequest, textStatus, errorThrown) {
  10.           alert("XMLHttpRequest=" + XMLHttpRequest.responseText + "\ntextStatus=" + textStatus + "\nerrorThrown=" + errorThrown);
  11.       },
  12.       async: false
  13.   });


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.23. 13:01 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.09.18. 13:01
Hozzászólások: 4270
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 513 alkalommal
Azt hogy erdemese blokkolni nemtudom viszont ha a webszerveren kivul nem hasznalja mas a php fajlt akkor tudod blokkolni.


Kód:
<?php
if ( ! ($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1') ) {
    header("HTTP/1.1 404 Not Found");   
    exit();
}


php script elejere szurd be.

_________________
Idk. Csak ugy funbooo.
Kép

Ők köszönték meg DeteCT0R nek ezt a hozzászólást: SidLuke (2018.05.23. 15:07)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.24. 09:07 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
A jquery nem a webszerveren fut, ha beertem melóhelyre kifejtem, hogy mi micsoda, mert látom van egy kisebb homály :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.24. 09:20 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
Silent írta:
A jquery nem a webszerveren fut, ha beertem melóhelyre kifejtem, hogy mi micsoda, mert látom van egy kisebb homály :)


Jajaja. Erre nem is gondoltam. Akkor valszeg, ha blokkolom, akkor el sem fog indulni. Türelmesen várok rád és köszönöm.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Elérési útvonal blokkolása
HozzászólásElküldve: 2018.05.24. 13:03 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Megfeledkeztem erről, de most van pár percem.

Tehát, a webes alkalmazások (igen, alkalmazások) mindenképp minimum két részből épülnek fel. Van egy static content, amit a kliens letölt az apache (lehet más is, értsd..) szerverről. Ilyen static content a HTML, a CSS, a javascript például. A másik része, ami a szerveren futó kód, esetedben a PHP. A jQuery is static content lesz, tehát a kliens (pl. Ferike) letölti a saját számítógépére (nyilván nem explicit a download gombbal..) és az a böngészőben fog futni. Innenstől kezdve, nem a webszerver fogja küldeni a requestet a PHP fájlodra, hanem egy remote cím, amit te sosem fogsz tudni predictelni, mivel ez attól függ, hogy épp ki használja. Ergó, ha same origint vársz el a PHP oldalon, akkor azt csak is kizárólag a webszervered éri el, míg Pistikének jön a HTTP error response.

Kérdésedre válaszolva:

Igen, adj security layert a szerver oldali endpointokra. Ez egy must have dolog, rohadt veszélyes ha az endpointjaidat eléri bárki, aki meg tud nyitni egy javascript fájlt és megnézze, hogy hova mennek a kérések jqueryből.

Megoldások sorozata:

1.) Laravel framework -> Tymon által készített JWT package
2.) JWT kézzel implementálása
3.) Ha nincs kedved JWT-t implementálni (procedurális plain PHP-ban nekem sem lenne kedvem, elég BS), akkor egyszerűsítve meg tudod azt tenni, hogy amikor authentikálod a felhasználót (belépteted), a HTTP válasznál leküldöd a felhasználónév jelszó kombóját base64-ben tárolva, majd azt kliens oldalon javascripttel lemented Local Storageba (imp.: localStorage.setItem('token', 'a-base64elt-string-ami-lejött-szerverről') ). Ha ez megvan, minden secured kérésnél elküldöd headerbe ezt a stringet ( localStorage.getItem('token') ) és a PHP fájlban kiszeded ezt, dekódolod és megnézed hogy jó-e. A JWT is nagyjából ezt csinálja, csak menőbben. :) Érdemes amúgy az 'Authorization' headerbe belepakolni ezt a motyót.

Nyilván ha olyan kérésekről van szó, amik nem belépettséghez kötöttek, akkor nem kell semmi, hiszen azok nem érzékeny adatok.

Ha kérdés van írj, ha nem válaszolok egy-két napon belül, írj egy PM-et is, azt picivel sűrűbben nézem. :)


Edit.:

Ha tényleg érdekel a webfejlesztés és nem akarsz kókányolni, akkor mindenképp hagyd abba azt amit most csinálsz, mert nem előre vezető egyáltalán. JQuery egy olyan dolog, amit már csak régi robosztus alkalmazásoknál használunk amit sok idő lenne újraírni, valamint a procedurális plain, kézzel írt PHP is eléggé divatját múlt. Ami nálad már fejlődés jelére utal, hogy nem a HTML kódba ágyazod be a PHP soraidat, ezért már respect jár.

Amit csinálj minden (igen MINDEN) helyett:

Ismerkedj meg a TypeScripttel (kb javascript, csak típusos és atommenő), ha esetleg túlságosan tömény először, akkor nézd meg az új EcmaScript 6-ot (ezt fogják használni a legújabb JS motorok), itt már vannak érdekes dolgok amik picit már a típusosság irányába eveznek, valamint megjelenik (végre) az arrow function, ami talán a Java-s lambdának felel meg. Ha ez megvan és így már érthető a TypeScript, akkor nézz fel a www.angular.io weboldalra és ismerd ki az angular 6-ot (5 is jó, én még nem nézegettem a 6-ot), csinálj magadnak kis (szerver nélküli) alkalmazásokat, pl egy todolistet vagy bármit. Ha úgy érzed, hogy igen, ez menő, akkor jöhet a szerver. Ha PHP-t akarsz használni minden áron, akkor Laravel. Nagyon széleskörű a supportja, nagyon jó és nagyon menő. Pár perc alatt felépítesz egy olyan API-t a weboldaladhoz, amivel tudsz regisztrálni / belépni biztonságosan (JWT authentikáció), usert létrehozni, lekérni, módosítani, törölni stb. Tényleg pár perc alatt ha rutinos vagy.

Az endpointjaid resource based pretty url-ek lesznek. Pl.:

Belépés: POST: www.yourdomain.com/server/api/auth

Felhasználó létrehozása: POST: www.yourdomain.com/server/api/users/
Felhasználók lekérése: GET: www.yourdomain.com/server/api/users/
Egyedi felhasználó lekérése: GET: www.yourdomain.com/server/api/users/19
Felhasználó módosítása: PUT: www.yourdomain.com/server/api/users
Felhasználó törlése: DELETE: www.yourdomain.com/server/api/users/19

Egy szóval, nem a www.yourdomain.com/server/create_user.php-t kell hívogatnod mint középsuliba, hanem egy normális resource based REST url-t kell hívni, amit a profik is használnak.

Edit2:

Ha pedig nem minden áron PHP, akkor ajánlom a Java-t. Én java fejlesztőként dolgozok prioritás ügyileg, nem mindig leányálom ugyan, de könnyen megszokható, megszerethető, nagyon sok dolgot egyszerű benne megvalósítani, valamint erősen típusos a nyelv, ami segít abban, hogy ne tévedj el a sok hasonló nevű változód között például. :)

Én JavaEE-t használok, de neked talán egyszerűbb a spring bootot használni, mert ott nem kell külső deploy tool, egy kattintással elindítható a web service. www.spring.io-n össze tudod kattintgatni magadnak, hogy miket akarsz a projektben használni (ebben tudok segíteni h mi micsoda) és utána legenerál neked egy teljes spring projektet.

Java hátrányai: Nem fogod tudni egy sima apache szerverre fellőni, kell hozzá egy deploy tool (glasshish, jboss, tomcat, wildfly stb). Nehezebb mint a PHP. Kód változtatás esetén újra kell fordítanod az alkalmazást, valamint újra kell deployolni, nem elég lementeni a java fájlt mint a php fájlt (bár állítólag már vannak ilyen hot-replace cuccok, de én ezekben nem vallásos emberként nem hiszek). :)

Szóval ja, írj ha van valami :)


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 8 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole