» »

PHP in varnost.

PHP in varnost.

Ales47 ::

Hej. Delam na spletni strani in hocem tudi poskrbet za nekakso varnost. Torej, mene zanima , kakso programsko kodo rabim, recimo :

http://xxxxxxxx/~XXXX/xxxxxxxx/index.ph... --->je pravilno

Zdaj pa ce dodam k *bewerbung* par crk npr.( URL) "index.php?stran=bewerbungasue" se mi na spletni strani javi potem error in z mojim IP-jem itd.

Jaz bi pa zdaj nekako rabil neke IF stavke, da ce se vpise neksen drug url oz kaksa crka k linku, da javi npr " error, stran ne obstaja" ali nekaj takega.
Upam da me razumete:)

Hvala

technolog ::

najprej si zgradi array dovoljenih vrednosti:

$dovoljeno=array('bewerbung', 'tralala', 'tralali');

In nato preveri, če je stran dovoljena ali ne:

if (in_array($_GET['stran'], $dovoljeno)) {
//includaj datoteko
} else {
echo 'Stran ne obstaja.';
}

Zgodovina sprememb…

Ales47 ::

Bom poskusil in javil , hvala !:)

Prej sem se pozabil vprasat,

Kako includam Forum na mojo stran? Zdaj jaz imam pac stran , kliknem na "Forum" in me vrze pac na forum stran, hocem pa, da se mi pokaze na mojoj strani, ta forum. forum sem naredil z phpbb

Kako fixiram spletno stran oz style.... delam z topstylelite in na mojem monitorju vse lepo bilo nastavljeno (div-i itd) ampak ko sem se v soli prijavil oz sel na mojo spletno stran , pa je bilo oz en div potegnjen v desno stran =/
hvala

Zgodovina sprememb…

  • spremenil: Ales47 ()

technolog ::

Forum boš najlažje vključil z značko IFRAME. Pogooglej.

BRBR ::

A temu se reče značka ? Jebela, slovenščina je neverjetna.

Iframe pa bo dober samo če mu boš določil fiksno velikost, in če ti bo to potem všeč.
Pa polno crossbrowser težav bo s tem.

V javi imaš lepo include (html-ja in vsega ostalega) na server side, zakaj tega ne bi bilo na php ne bi vedel.
Never underestimate the power of idiots in large groups.

Zgodovina sprememb…

  • spremenil: BRBR ()

technolog ::

tag = značka, ne vem kaj te moti? (primer: Dog tag = pasja značka)


Iframe pa bo dober samo če mu boš določil fiksno velikost, in če ti bo to potem všeč.
Pa polno crossbrowser težav bo s tem.


Ja, širina bo itak fiksna, težave bodo kvečjemu z višino... Se da pa to rešit z javascriptom, da sporoči višino svojemu parentu.
Za cross browser težave z iframi še nisem slišal, celo IE6 jih lepo handla. Mogoče si zamešal z iskalniki (google, yahoo), samo temu že par let ni več tako.

Drugače se ti pa vidi, da nisi kaj preveč delal na področju spleta, ker je propper integracija zelo bom reku zajebana. Treba je popravit CSS, da targeta samo del strani, nardit tranzicijo URLjev in še mnogo drugega.

PhpBB foruma ne moreš kar tako includat.

Zgodovina sprememb…

Ales47 ::

torej zdaj... vem toliko kot prej :D:D

technolog ::

Še enkrat za tiste, ki ne znajo brati :D

http://slo-tech.com/forum/t462331/p3072...

Glede CSSa pa predlagam da vprašaš v za to namenjeno temo.

Zgodovina sprememb…

techfreak :) ::

Kaj iframe-a še niso vrgli iz HTMLja? Kaj pa čakajo?

BRBR ::


Za cross browser težave z iframi še nisem slišal, celo IE6 jih lepo handla. Mogoče si zamešal z iskalniki (google, yahoo), samo temu že par let ni več tako.


Nisem , nekaj v zvezi s bacgroundom ki pri enem pride ven default transparent, pri drugem pa white. In pol doktoriraš da je pri obeh transparent, itd ....Sem že malo pozabil ....
Never underestimate the power of idiots in large groups.

Spura ::

Ja porka madona a ne obstajajo knjiznjice za routing v PHPju? Zihr je kej. Pa ze na HTTP serverju lahko nastavis za katere URLje naj ti ne vrne 404 in imas staticni page, ki ga HTTP streznik tudi cachea kar je hitreje.

Ales47 ::

To z iframe ind forum-on deluje perfektno! najlepsa hvala. za arrays pa to, pa se nisem testiral , bom pa se ju3 ziher :P

btw: Imam admin mapo in skratka ko grem na podrocje admin, imam pac tam tudi opcijo za dodajanje novic, katere so prikazane na indexni strani oz *home*... kako spremenim to pisavo? :S

Zgodovina sprememb…

  • spremenil: Ales47 ()

technolog ::

Ales47, me veseli :D Pisavo pa lah porihtaš s cssjem, je pa tlele na ST prov posebna tema za to.

Spura - če najdeš povej še meni. Se že več kot 5 let ukvarjam s PHP, pa še nisem zasledil za kako enostavno metodo (max 20 vrstic)...

Zgodovina sprememb…

arjan_t ::

techfreak :) je izjavil:

Kaj iframe-a še niso vrgli iz HTMLja? Kaj pa čakajo?


in zakaj bi ga?

Ales47 ::

Kje pa najdem to posebno temo za CSS? link plx, ker jaz nisem nasel nikjer kaksrne posebne teme =/

keworkian ::

Ales47 je izjavil:

Kje pa najdem to posebno temo za CSS? link plx, ker jaz nisem nasel nikjer kaksrne posebne teme =/

Prva tema v Izdelava Spletišč

Spura ::

technolog je izjavil:

Ales47, me veseli :D Pisavo pa lah porihtaš s cssjem, je pa tlele na ST prov posebna tema za to.

Spura - če najdeš povej še meni. Se že več kot 5 let ukvarjam s PHP, pa še nisem zasledil za kako enostavno metodo (max 20 vrstic)...

8-O
Glede na to, da ima 2 leti star jezik kot je Clojure tako knjiznjico (2 ubistvu), hkrati je pa PHP jezik ki se ga uporablja skoraj izkljucno za pages.... presenetljivo.

technolog ::

Ja lejga... Maš include konstrukt, ki lahko vključi php kodo na poljubno mesto, samo vključevanje foruma ne gre tako enostavno.

krho ::

@Spura & @technolog: https://github.com/symfony/Routing (PHP 5.3)
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

technolog ::

Spura - če najdeš povej še meni. Se že več kot 5 let ukvarjam s PHP, pa še nisem zasledil za kako enostavno metodo (max 20 vrstic)...


Vseeno ti hvala, krho! :)

Spura ::

(defn handler-404 [req]
  {:status 200
   :headers {"Content-Type" "text/html; charset=utf-8"}
   :body "<html><body><center><h1>Stran ne obstaja</h1></center></body></html>"})

(def strani {"bewerbung" do-bewerbung "tralala" do-tralala "tralali" do-tralali})
(defn index [{params :params :as req}]	
	(when-let [do-stran (strani (params "stran"))] 
		{:status 200 
                 :headers {"Content-Type" "text/html; charset=utf-8"}
		 :body (do-stran req)}))

(def main-app (app ["~XXXX" "xxxxxxxx" "index.php"] [(wrap-params index)]
		   [&] [handler-404]))

(defn boot []
  (jetty/run-jetty main-app {:port 8080}))

Evo, 17 vrstic, in ima tocno funkcionalnost vkljucno z zagonom streznika. :P

Me pa zanima splosno vprasanje varnosti v spletnih straneh.
Mene zanima kako je naboljs naredit to foro, da ce ima naprimer user neko tabelo in vsaka vrstica ima zraven delete knof. Recimo, da ima vsak knof link ki se konca z ?action=delete&id=3123542 (ali obstaja boljsi nacin, da identificiras akcijo userja?). Recimo da nekateri knofi niso enabled, ker user nima pravice za te specificne vrstice brisat. Kako najlazje preprecit, da bi brisal nedovoljene preprosto tako, da priredi GET request da ima drug ID parameter? Torej v splosnem, kako v spletnih straneh prepreciti nedovoljene akcije userjem, tako da ne morejo tega storiti niti s prirejanjem requestov.

Terman ::

Serverside user permissions?

Spura ::

Ja z user permissions lahko restrictas razne urlje. Ampak kaj ko imas data-driven permissions. Torej ne gre za dostopne/nedostopne strani, ampak za dejanske elemente na gui, kjer so dovoljenja odvisna od podatkov samih.

krho ::

Preveriš preden dovoliš akcijo.
Hm Jetty je java, ampak koda pa ni java. Tole je.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Zgodovina sprememb…

  • spremenil: krho ()

arjan_t ::

krho je izjavil:

Hm Jetty je java, ampak koda pa ni java. Tole je.

kaj si hotel povedat?

koda je clojure ki teče na jvm

Spura ::

krho je izjavil:

Preveriš preden dovoliš akcijo.
Hm Jetty je java, ampak koda pa ni java. Tole je.

Kako se tega preverjanja lotit na nacin, da ni ta koda pomesana notri v business logicu? Naprimer Java Server Faces button handlerji te kode ne vsebujejo, za to je poskrbljeno drugje.

krho ::

Proxy razred. Ali pač mešaš.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

MrBrdo ::

Spura: če je permission odvisen od podatka potem gre za business logiko (torej gre za neke vrste validacijo, kar spada pod business logiko), ne vem zakaj je nebi želel tudi tam imet.
Primer (Rails):
# model:
class Item < ActiveRecord::Base
  def lahko_dostopa?(user)
    if #...
      true
    else
      false
    end
  end
end

# controller:
def destroy
  @item = Item.find(params[:id])
  redirect_to unauthorized_path unless @item.lahko_dostopa?(current_user)
  # ...
end

Druga možnost bi bila to logiko postavit pod userja in potem klicat current_user.lahko_dostopa?(@item), kar je kar se berljivosti tiče verjetno boljše.
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

krho ::

arjan_t je izjavil:

krho je izjavil:

Hm Jetty je java, ampak koda pa ni java. Tole je.

kaj si hotel povedat?

koda je clojure ki teče na jvm

Ja to sem hotel vedet, samo sem pozabil na ? na koncu stavka in nisem hotel še 1x editirati sporočila.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Java program (strani: 1 2 )

Oddelek: Programiranje
507896 (7045) kunigunda
»

[Debata] JavaScript in jeziki z prototipnim dedovanjem (strani: 1 2 )

Oddelek: Programiranje
516993 (6859) zigomir
»

ASP.NET + C# vprašanje

Oddelek: Programiranje
342646 (1660) Morenov
»

Kateri programski jezik?

Oddelek: Programiranje
494406 (3019) kopernik
»

[fork] Apache C module vs. Java

Oddelek: Programiranje
452083 (1642) PaX_MaN

Več podobnih tem