U PHP-webwerf word van stapel gestuur. Baie geluk! Maar wag .. het u gesorg vir noodsaaklike veiligheidsverharding?
PHP is 'n liggewig dog baie kragtige backend-programmeringstaal. Dit het ongeveer 80% van die wêreldwye webtoepassings, wat dit een van die mees gebruikte tale in die ontwikkelingswêreld maak.
Die rede vir die gewildheid en die wye gebruik daarvan is die maklike koderingstruktuur en ontwikkelaarvriendelike funksies. Daar is baie CMS en kaders wat bo-op PHP gebou is en duisende bekende ontwikkelaars van regoor die wêreld is 'n gereelde deel van die gemeenskap.
'N Goeie voorbeeld is WordPress.
Wanneer PHP-toepassings op regstreekse bedieners ontplooi word, kan dit moontlik wees dat daar verskeie gevalle van inbraak en webaanvalle is, wat sy webwerf-data uiters kwesbaar maak om gesteel te word. Dit is een van die mees bespreekte onderwerpe in die gemeenskap: hoe om 'n heeltemal veilige toepassing te bou, met al die kerndoelstellings van die projek in toom te hou.
Ondanks hul beste pogings, bly ontwikkelaars steeds op die uitkyk vir die verborge skuiwergate wat onopgemerk raak terwyl hulle 'n toepassing ontwikkel. Hierdie skuiwergate kan die beskerming van belangrike werfdata op enige plek in die gedrang bring webhosting vir PHP MySQL apps, wat hulle kwesbaar maak vir pogings tot inbraak.
Dus, hierdie artikel gaan oor 'n paar nuttige PHP-sekuriteitswenke wat u verstandig in u projekte kan gebruik. Deur gebruik te maak van hierdie wenke, kan u seker maak dat u aansoek altyd op sekuriteitstoetse staan ​​en nooit deur eksterne webaanvalle in die gedrang kom nie.
1 Kruiswêreldskripsies (XSS)
2 Kruiswêreld-vervalsing (CSRF)
3 Sessie kaping
4 Voorkom aanvalle op SQL-inspuitings
5 Gebruik altyd SSL-sertifikate
6 Versteek lêers in die blaaier
Cross-Site Scripting is een van die gevaarlikste eksterne aanvalle wat uitgevoer word deur enige kwaadwillige kode of skrif op die webwerf te spuit. Dit kan die kern van u aansoek beïnvloed, aangesien die hacker enige tipe kode in u aansoek kan inspuit sonder om u 'n wenk te gee. Hierdie aanval kom meestal voor op die webwerwe wat gebruikersdata erken en indien.
In 'n XSS-aanval vervang die geïnjekteerde kode die oorspronklike kode van u webwerf, en werk dit tog as 'n werklike kode wat die prestasie van die werf ontwrig en die data dikwels steel. Die hackers omseil die toegangsbeheer van u aansoek, kry toegang tot u koekies, sessies, geskiedenis en ander belangrike funksies.
U kan hierdie aanval teenwerk deur HTML-spesiale karakters te gebruik & ENT_QUOTES in u aansoekkodes. Deur gebruik te maak van ENT_QUOTES, kan u enkele en dubbele aanhalingsopsies verwyder, wat u toelaat om die moontlikheid van die skripaanval oor die hele webwerf uit te wis.
CSRF deel volledige toepassingsbeheer aan die hackers uit om enige ongewenste aksies uit te voer. Met volledige beheer kan hackers kwaadwillige bedrywighede uitvoer deur besmette kode na u webwerf oor te dra, wat tot diefstal van data, funksionele wysigings, ens. Lei. Die aanval dwing die gebruikers om die konvensionele versoeke na die veranderende vernietigende te verander, soos om onbewustelik fondse oor te dra, te verwyder die hele databasis sonder enige kennisgewing, ens.
Die CSRF-aanval kan slegs begin word sodra u op die verbloemde kwaadwillige skakel wat deur die hacker gestuur is, klik. Dit beteken dat as u slim genoeg is om die besmette verborge skrifte uit te vind, u moontlike CSRF-aanval maklik kan uitskakel. Intussen kan u ook twee beskermingsmaatreëls gebruik om u app-sekuriteit te versterk, dit wil sê deur die GET-versoeke in u URL te gebruik en te verseker dat die nie-GET-versoeke slegs op u klante-kode gegenereer word.
Session hijacking is 'n aanval waardeur die hacker jou sessie-ID steel om toegang tot die beoogde rekening te verkry. Met behulp van daardie sessie-ID kan die hacker u sessie bekragtig deur 'n versoek aan die bediener te stuur, waar 'n $ _SESSION-skikking die uptyd daarvan valideer sonder om u kennis in te hou. Dit kan uitgevoer word deur 'n XSS-aanval of deur toegang tot die data te kry waar die sessiedata gestoor word.
Bind altyd u sessies aan u IP-adres om te voorkom dat u sessies sal kap. Hierdie praktyk help u om sessies ongeldig te maak sodra 'n onbekende oortreding plaasvind, en u dadelik laat weet dat iemand u sessie probeer omseil om toegang tot die program te verkry. Onthou altyd om nie ID's onder geen omstandighede bloot te stel nie, want dit kan later u identiteit met 'n ander aanval in die gedrang bring.
Voorkom aanvalle op SQL-inspuitings
Die databasis is een van die belangrikste komponente van 'n toepassing wat meestal deur hackers geteiken word via 'n SQL-aanval. Dit is 'n soort aanval waarin die hacker spesifieke URL-parameters gebruik om toegang tot die databasis te kry. Die aanval kan ook gemaak word met behulp van webvormvelde, waar die hacker data wat u deurvra, kan verander. Deur die velde en navrae te verander, kan die hacker beheer oor u databasis kry en verskeie rampspoedige manipulasies uitvoer, insluitend die volledige toepassing van die databasis.
Om SQL-inspuitingsaanvalle te voorkom, word dit altyd aanbeveel dat u geparameteriseerde navrae gebruik. Hierdie BOB-navrae vervang die argumente behoorlik voordat die SQL-navraag uitgevoer word, en sluit die moontlikheid van 'n SQL-inspuiting aan. Hierdie praktyk help jou nie net om jou SQL-vrae te beveilig nie, maar maak dit ook gestruktureer vir doeltreffende verwerking.
Gebruik altyd SSL-sertifikate
Gebruik altyd SSL-sertifikate in u toepassings om veilige datatransmissie van internet tot einde te kry. Dit is 'n wêreldwye erkende standaardprotokol bekend as HTTPS (Hypertext Transfer Protocol) om data veilig tussen die bedieners oor te dra. Met behulp van 'n SSL-sertifikaat kry u toepassing die veilige data-oordragroete, wat dit byna onmoontlik maak vir hackers om op u bedieners in te val..
Al die belangrikste webblaaiers soos Google Chrome, Safari, Firefox, Opera en ander beveel aan dat u 'n SSL-sertifikaat gebruik, aangesien dit 'n geënkripteerde protokol bied om data oor die internet te versend, ontvang en ontsyfer..
Versteek lêers in die blaaier
Daar is 'n spesifieke gidsstruktuur in die mikro-PHP-raamwerke, wat die opberging van belangrike raamwerklêers soos beheerders, modelle, die konfigurasielêer (.yaml), ens. Verseker..
Die meeste van die tyd word hierdie lêers nie deur die blaaier verwerk nie, en tog word dit vir 'n langer tydperk in die blaaier gesien, wat 'n sekuriteitsoortreding vir die toepassing skep.
Bêre dus altyd u lêers in 'n openbare vouer, eerder as om dit in die stamgids te hou. Dit sal hulle minder toeganklik maak in die blaaier en die funksies van enige potensiële aanvaller verberg.
PHP-toepassings is altyd kwesbaar vir eksterne aanvalle, maar deur die bogenoemde wenke te gebruik, kan u die kern van u aansoek maklik beveilig teen enige kwaadwillige aanval. As 'n ontwikkelaar is dit u verantwoordelikheid om die data van u webwerf te beveilig en foutvry te maak.
Behalwe vir hierdie wenke, kan baie tegnieke u help om u webtoepassing teen eksterne aanvalle te beveilig, soos die gebruik van die beste wolk-gasheeroplossing wat verseker dat u die beste sekuriteitsfunksies het, wolk-WAF, die opstel van dokumente-wortels, witlys-IP-adresse, en meer.