Php mvc controllernek a főoldalt kéne betöltenie, helyette listázza a mappát?
controllerben nincs írva semmi pl az 'img'-re, else ágon pedig meg van adva a főoldal.
(rewriterule-al mappának álcázom az url paramétereit)
Mivel van ilyen mappa, azt nyitja meg, és (mivel nincs benne semmi olyan) listázza.
Mi erre a megoldás?
Htaccessel redirecteljem egyesével ezeket a mappákat?
+ Ha van images mappám, de én ezt is csak rewrite-al szimulálnám, gondolom az 'igazi' mappát listázná, ilyenkor mi a teendő?
Még egy plusz kérdés:
Ha van a mappában egy fájl, ajaxhoz feldolgozó php, mit kell tenni, hogy ne tudjam csak úgy beírva a címsorba működtetni?
pl ajax/feldolgozo.php
(Ha az ajax mappa htaccessel át van irányítva, meg lehet ezt még nyitni, vagy átirányít így is?
Elég ennyi, vagy ez még nem elég biztonságos?)
1. Erős a gyanúm, hogy a rewriterule -od nem működik.
2. Ilyet ne tegyél. Helyesen kivitelezve, a kontrollered egyrészt csak a megfelelően megadott paraméterekkel működik, másrészt nem tud róla, illetve nem is érdekli, hogy a kliens, akinek válaszol egy AJAX kérést küldő böngésző, vagy egy kézzel hadonászó user, avagy valaki, aki a telnettel játszik. Értelme sem nagyon volna. Biztonsági kérdést semmiképpen ne alapozz arra, hogy "az ajax request úgysem látszik a felhasználó felé".
3. Ha .htaccess segítségével leütöd az URL-t, akkor az az AJAX requesteket is érinti, mivel protokoll szinten nincs különbség az AJAX -os és a hagyományos kérések közt (ezért is nem tudod külön erre szolgáló kód nélkül megkülönböztetni). Gyakorlatilag a service -ed sem volna elérhető.
Biztonság tekintében legyen kifejezett autentikáció (user accounts), illetve autorizáció (access rights), ha pedig a user "hülyeséget lát", mert hülyeséget csinál (i.e. a tartalom elérésére jogosult, de semmi értelme egy JSON vagy XML response nézegetésének), az nem a te sarad, és nem is érdemes energiát fektetni az elhárításába.
"controllerben nincs írva semmi pl az 'img'-re, else ágon pedig meg van adva a főoldal"
Ilyet pedig végképp ne tegyél, mert ez így nem controller, hanem már össze is mostad a modelt, a view -t, és a controllert. A view (és csakis a view) feladata a kimenet meghatározása az általa kapott adatok alapján, a model feladata az alkalmazás üzleti logikájának implementálása, a kontrolleré pedig a beérkező (előfeldolgozott) kérések alapján az üzleti logika működtetése, valamint a kapott eredmény átadása a view -nak.
Remélem, segítettem. Ha van még kérdésed, nagyon szívesen válaszolok, legjobb tudásom szerint.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!