Bij elke pageload opnieuw ophalen is veiliger, maar in een sessie opslaan zal wel weer een query schelen en dus sneller zijn. Het is een afweging tussen beveiliging en snelheid.quote:Op dinsdag 1 december 2009 18:48 schreef Chandler het volgende:
Ah natuurlijkennuh is het handig om de geladen rechten op te slaan in een sessie? of per pagina lading alle rechten ophalen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | switch($_SERVER['HTTP_HOST']){ case 'localhost' : $path = '/pikler'; ini_set ('error_reporting', E_ALL); break; case '83.98.245.150' : $path = '/pikler'; ini_set ('error_reporting', E_ALL); break; default : $path = ''; break; } |
Waarschijnlijk zul je het IP adres hoeven 83.98.245.150 veranderen naar het nieuwe adres. Dit stukje zelf doet an sich niet zo veel; het kijkt naar de waarde $_SERVER['HTTP_HOST'], als dit localhost of 83.98.245.150 is, dan word de PHP instelling 'error_reporting' op E_ALL gezet (dus alle fouten en waarschuwingen in PHP scripts zullen weergegeven worden) en word de variabele $path op '/pikler' gezet. Alles wat anders us, maakt het $path variabele leeg en stelt géén error_reporting in.quote:Op woensdag 2 december 2009 18:47 schreef Mirel het volgende:
Ik ben admin van een site (niet zelf gemaakt) en kreeg vandaag een mailtje van de vrouw achter de site. Ze kreeg melding dat de site verhuisd zal worden en het ip zal veranderen. Ik dacht, dat maakt niks uit, maar nu zie ik in de code van index.php dit staan:
[ code verwijderd ]
Ik neem aan dat ik dat dus zal moeten veranderen :(wat betekent de code eigenlijk?)
Opslaan maakt het rechtenbeheer niet echt onveiliger. Als jij je hele rechtenstructuur iedere keer moet bereken doet hij elke keer het zelfde. Aangezien je niet om de 5 dagen de rechten gaat aanpassen.quote:Op dinsdag 1 december 2009 19:03 schreef Sirolf het volgende:
[..]
Bij elke pageload opnieuw ophalen is veiliger, maar in een sessie opslaan zal wel weer een query schelen en dus sneller zijn. Het is een afweging tussen beveiliging en snelheid.
Je zou ook kunnen kiezen voor een tussenweg, zoals alleen opnieuw ophalen van rechten bij een POST, of een timestamp opslaan in de sessie en bijvoorbeeld 10 minuten na die tijd de rechten in ieder geval weer laten ophalen (zodat er geen langdurende sessies met de oude rechten actief blijven).
Natuurlijk wel. Als jij je rechten alleen maar sporadisch gaat opslaan, kan dat cruciale fouten veroorzaken. Wat als je net iemand betrapt op het verwijderen van records, en die persoon per direct zijn rechten wilt ontnemen?quote:Op woensdag 2 december 2009 19:25 schreef Pakspul het volgende:
[..]
Opslaan maakt het rechtenbeheer niet echt onveiliger.
Vertel mij stap voor stap dan eens hoe dat te werk gaat. Lees dan mijn verhaal nog eens door en zeg dan dat mijn verhaal toch nog correct is.quote:Op woensdag 2 december 2009 19:52 schreef Tuvai.net het volgende:
[..]
Natuurlijk wel. Als jij je rechten alleen maar sporadisch gaat opslaan, kan dat cruciale fouten veroorzaken. Wat als je net iemand betrapt op het verwijderen van records, en die persoon per direct zijn rechten wilt ontnemen?
Dat verklaard waarom windows dus ook alle rechten in een keer berekend en dan vast zet inplaats van ze steeds opnieuw te berekenen.quote:Als er iets belangrijk is in een (web)-applicatie, dan is het wel (actuele / realtime) beveiliging. Als je applicatie door één eenvoudig query`tje veiliger wordt, dan zou ik me vooral niet over dat (minieme performance-verlies van) query`tje druk gaan maken.
Efficiënter dan alles rechten ophalen deze helemaal laten berekenen. Als je een ingelogde user hebt haal je toch de informatie van hem op. In iedergeval zijn username, waarom dan ook niet even een extra kolom waar zijn rechten in staan ophalen.quote:Jouw oplossing om alles in één kolom te gooien is nou ook niet bepaald efficiënt.
Euh, wat snap je niet aan mijn voorbeeld? Als jij een kwaadwillge gebruiker betrapt in jouw systeem, hetgeen misschien wel iemand is die een account gekaapt/gehacked heeft, die van alles aan het verwijderen is, dan wil je die toch meteen zijn rechten kunnen ontnemen?quote:Op woensdag 2 december 2009 20:00 schreef Pakspul het volgende:
Vertel mij stap voor stap dan eens hoe dat te werk gaat.
Windows? Hoezo appels en peren?quote:Dat verklaard waarom windows dus ook alle rechten in een keer berekend en dan vast zet inplaats van ze steeds opnieuw te berekenen.
Om te beginnen is een dergelijke kolom niet meer dan een overbodige rotzooi-kolom met, afhankelijk van hoe jij je rechten er in opslaat, waarschijnlijk een lap aan tekstuele data. En nogmaals, waar zit 'm het grote performance- en/of snelheidsverlies in een eenvoudige COUNT() query? Wil je echt zo omslachtig gaan doen om een nota bene onveiliger systeem over te houden, alleen om een simpel query`tje te besparen?quote:Efficiënter dan alles rechten ophalen deze helemaal laten berekenen. Als je een ingelogde user hebt haal je toch de informatie van hem op. In ieder geval zijn username, waarom dan ook niet even een extra kolom waar zijn rechten in staan ophalen.
Ik heb het nooit gehad over opnieuw inloggen, wanneer je site een pagina verder gaat zal die weer controleren of deze ingelogd is ja of nee en weer spul uit de database halen. Mits je afbent gestapt van het $_SESSION object. Dat kan misschien wat stof doen op waaien in deze discussie want ik haal bij iedere request de gegevens van de gebruiker opnieuw op zodat deze de laatste informatie heeft. Dus dan ziet die ook of de Rechten kolom is gevult ja of nee, als dit niet zo is dan bouwt hij deze opnieuw op en schrijft deze weer weg en dan gaat hij bij de actie die de gebruiker gaat uitvoeren deze weer checken. Zit 0,0 verschil in met real-time aanpassingen.quote:Op woensdag 2 december 2009 20:17 schreef Tuvai.net het volgende:
[..]
Euh, wat snap je niet aan mijn voorbeeld? Als jij een kwaadwillge gebruiker betrapt in jouw systeem, hetgeen misschien wel iemand is die een account gekaapt/gehacked heeft, die van alles aan het verwijderen is, dan wil je die toch meteen zijn rechten kunnen ontnemen?Of wil je dan echt de rechten gaan ontnemen, en braaf gaan wachten tot die gebruiker opnieuw inlogt (of wat dan ook doet waardoor je jouw rechen-update triggert)?
AD maakt een copy van de site (folder-systeem/netwerk schijf) in zijn database waar deze allemaal objecten opslaat met de daarbij horende rechten voor de group/gebruiker/etcquote:[..]
Windows? Hoezo appels en peren?Sowieso doet Windows dat maar tot een bepaald niveau, voornamelijk op lokaal/workstation niveau. Als ik bijvoorbeeld in een Active Directory een netwerkmap heb waarop ik instel dat een bepaalde groep gebruikers er niet meer in mag komen, dan wordt dat realtime toegepast hoor.
Ik maak gebruik van een rechten beheer waarbij je in verschillende groepen kunt zitten en de gebruiker zelf ook nog rechten kan geven. Dus je moet van alle groepen + gebruiker de rechten ophalen. Daarna gaat hij deze allemaal na om te kijken wat er na het hele overerving verhaal nog voor de gebruiker overblijft. Het resultaat hiervan is een array en de rechten van de gebruiker.quote:[..]
Om te beginnen is een dergelijke kolom niet meer dan een overbodige rotzooi-kolom met, afhankelijk van hoe jij je rechten er in opslaat, waarschijnlijk een lap aan tekstuele data. En nogmaals, waar zit 'm het grote performance- en/of snelheidsverlies in een eenvoudige COUNT() query? Wil je echt zo omslachtig gaan doen om een nota bene onveiliger systeem over te houden, alleen om een simpel query`tje te besparen?
Het kan aan mij liggen, maar als het op veiligheid aan komt, ga je niet 'zuinig' lopen doen.
Ik zie een tag <h2> als ik het met Chrome bekijkquote:Op donderdag 3 december 2009 18:36 schreef BaggerUser het volgende:
misschien niet helemaal PHP maar vooruit het is in php gemaakt dus..
Ik heb laatst een website gemaakt voor iemand, simpele portfolio met wat foto's er op. niks bijzonders.
Nu krijgt hij heel af en toe de opmerking dat de site niet goed wordt weergegeven. Volgens de omschrijving doelden ze op de alt text bij de foto's.
Nu zullen het allemaal wel mensen zijn die sinds ie6 hun browser nooit hebben geupdate, maar aangezien dat nou eenmaal de doelgroep is... vooruit laat ik er eens naar kijken. Maar nu besef ik me net pas dat ik helemaal geen ie6 hier heb (mac) en dus niet kan kijken naar het probleem.
iemand die voor mij een sneakpeak kan nemen en kan zeggen wat er mis is?
bvd!
(ps het gaat om de volgende site: http://www.hennyblaas.nl/?c=1 )
Als je in 1 keer alle rechten van een user opvraagt, kost je dat in principe 1 query per pageview. Als je per bewerking gaat opvragen, is het wel zo handig om te zorgen dat het je in ieder geval niet meer queries kost.quote:Op donderdag 3 december 2009 18:59 schreef Scorpie het volgende:
Ik snap niet wat de toegevoegde waarde is van bij elke request opnieuw de rechten ophalen van een gebruiker. Waarom niet bij elke bewerking checken of de bewerking mag worden uitgevoerd?
Dat doe ik omdat ik, voordat mijn gebruiker een handeling uit voert, ik ook wil laten zien dat de gebruiker de betreffende handeling niet mag uit voeren. Denk aan een melding, of het disablen van inputs, of iets in die trant. Als ik zelf ergens een hekel aan heb, dan is het wel om een heel formulier in te vullen, om vervolgens een "oeps, jij mag dit niet!" te krijgen wanneer ik het formulier submit.quote:Op donderdag 3 december 2009 18:59 schreef Scorpie het volgende:
Ik snap niet wat de toegevoegde waarde is van bij elke request opnieuw de rechten ophalen van een gebruiker. Waarom niet bij elke bewerking checken of de bewerking mag worden uitgevoerd?
Een bewerking kan vanalles zijn, ook het bekijken van posts in een forum.quote:Op donderdag 3 december 2009 22:10 schreef Chandler het volgende:
Waarom niet Scorpie? zie het als dit forum, je wilt opeens geen gebruiker meer hebben in KPD (direct, nu) dan is dat met een klik gebeurd ipv wachten totdat een user iets post oid?!
Tja, het is maar net hoe je de post wil lezenquote:Op donderdag 3 december 2009 22:17 schreef Light het volgende:
[..]
Een bewerking kan vanalles zijn, ook het bekijken van posts in een forum.
Maar je moet wel verschillende dingen controleren, je mag namelijk niet iedere post lezen.quote:Op donderdag 3 december 2009 22:24 schreef Chandler het volgende:
[..]
Tja, het is maar net hoe je de post wil lezen(bewerking zie ik niet als het lezen van een post)
hellup mij!quote:Op vrijdag 4 december 2009 01:30 schreef GuidooH het volgende:
Ik dacht; laat ik eens wat PHP noobs helpen, maar helaas...
@ Light: Ha ZCE'er!ZCE'ers ownen, en hard!
Minder zuipen en nog eens uitleggen wat je wilt als je weer nuchter bent.quote:Op vrijdag 4 december 2009 01:39 schreef VeJaderr het volgende:
[..]
hellup mij!
heb moie srcpt gedwonload, hij werkt wel, mar heele tijjd is allus weg of staan er links nara pr0n sitse ensow.. wat moet k doewn?
Ik denk dat ik dat naderhand ook eens d'r bji ga nemen, puur voor het hebben van 'bewijsmateriaal' dat ik verstand van PHP heb.quote:Op vrijdag 4 december 2009 01:30 schreef GuidooH het volgende:
Ik dacht; laat ik eens wat PHP noobs helpen, maar helaas...
@ Light: Ha ZCE'er!ZCE'ers ownen, en hard!
Cursus? Welke cursus? Ik heb gewoon een boekje gekocht, dat doorgewerkt, en toen examen gedaan. Was wel ZCE PHP4 in die tijd, ZCE PHP5 heb ik niet en daarmee kan ik dus ook niet vergelijken.quote:Op vrijdag 4 december 2009 12:16 schreef Tuvai.net het volgende:
Voor de ZCE`ers: Heeft zo'n Zend certificaat veel waarde op 'de markt'? Was de cursus een beetje te doen? Heb je profijt gehad van het worden van ZCE?
Oke thnx, maar waar plak ik nu die code in dan?quote:Op maandag 30 november 2009 18:58 schreef hamkaastosti het volgende:
[..]
daar klopt bijzonder weinig van. wil je het in 1 pagina doen dan kan het bijvoorbeeld zo:
[ code verwijderd ]
je zult nog wel zelf eea moeten klussen
Ik heb het al gevonden. Je moet de volgende code bovenaan je php file zetten:quote:Op vrijdag 4 december 2009 17:32 schreef NoShitSherlock het volgende:
Kan iemand mij helpen met het volgende probleem?
Ik heb op mijn website een simpel formuliertje die wat gegevens naar een database verstuurd. Maar nu wil ik graag dat nadat de gebruiker de gegevens verstuurd heeft dat hij weer terug komt op de site waarvandaan hij de gegeven verstuurd en dat er dan ook staat weergegeven: Uw gegevens zijn met suc6 verstuurd.
Nu is het zo dat de gebruiker niks meer ziet. Hij laadt nu gewoon insert.php, die dus geen inhoud weergeeft.
1 2 3 4 | <?php header("Location: http://www.site.nl/"); /* Stuur de browser naar www.site.nl */ ?> |
Het enige "voordeel" voor mij was een sticker, certificaat, spam krijgen via de yellow pages en dat mijn werkgever een icoontje op de site mag zetten.quote:Op vrijdag 4 december 2009 13:26 schreef Light het volgende:
[..]
Cursus? Welke cursus? Ik heb gewoon een boekje gekocht, dat doorgewerkt, en toen examen gedaan. Was wel ZCE PHP4 in die tijd, ZCE PHP5 heb ik niet en daarmee kan ik dus ook niet vergelijken.
Of het veel voordeel heeft op "de markt" weet ik niet. Ik heb niet het idee dat ik er heel veel aan heb gehad.
Volgende stap voor mij wordt SCJP, maar dat is wat lastiger. Kan ook komen omdat ik maar heel weinig doe met Java.
Hier al eens naar gekeken om te zien of je dan wel je js erin kan knallen: http://www.smarty.net/manual/id/language.function.literal.phpquote:Op zaterdag 5 december 2009 13:41 schreef wobbel het volgende:
Ik heb een Smarty als template parser, maar nu vroeg ik mij af of ik met smarty ook nog wat in een .js file kon replacen?Ik kan de JS code niet in het HTML bestand zelf zetten omdat Smarty daar niet goed mee overweg kan, maar in die JS moet ik wel steeds een variable aanpassen...
De scores van elke vote zitten in de db inderdaad, maar de gemiddelde scores niet.quote:Op zaterdag 5 december 2009 13:37 schreef hamkaastosti het volgende:
hoe sla je die scores op? in mysql? dan is het gewoon ORDER BY score in je query en dan met while() daar door heen loopen
Er van uit gaande dat je een tabel met votes / stemmen hebt, waar per record een score, en een afbeelding_id (oftewel, de afbeelding waar het over gaat) in staat:quote:Op zaterdag 5 december 2009 13:48 schreef Chanty87 het volgende:
[..]
De scores van elke vote zitten in de db inderdaad, maar de gemiddelde scores niet.
1 2 3 4 5 6 7 8 9 10 | AVG(score) AS gemiddelde, afbeelding_id FROM tabel_met_stemmen GROUP BY afbeelding_id ORDER BY gemiddelde DESC LIMIT 10 |
1 2 3 4 | bla_veld1 VARCHAR(50) bla_veld2 VARCHAR(50) enz. |
1 2 3 4 5 | bla_id BIGINT(20) INDEX wtf_veld1 VARCHAR(50) wtf_veld2 VARCHAR(50) enz. |
1 |
DOH. TabelB.bla_id stond inderdaad nog niet op unsigned.quote:Op zaterdag 5 december 2009 14:28 schreef GlowMouse het volgende:
Is een van de bigints toevallig unsigned en de ander niet?
Thanksquote:Op zaterdag 5 december 2009 14:05 schreef Tuvai.net het volgende:
[..]
Er van uit gaande dat je een tabel met votes / stemmen hebt, waar per record een score, en een afbeelding_id (oftewel, de afbeelding waar het over gaat) in staat:
[ code verwijderd ]
(ik maak gebruik van Wordpress + ExecPHP plugin) error.quote:Catchable fatal error: Object of class stdClass could not be converted to string in /lalala/exec-php/includes/runtime.php(42) : eval()'d code on line 4
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |