08-05-2005, 10:38 | ||
Verwijderd
|
(Dit zou kunnnen in [Centraal] HTML/CSS/Javascript, maar dit is erg specifiek)
Naar aanleiding van problemen metGoogle's Web Accelerator ben ik gaan nadenken over mijn huidige website design (kwa techniek). Het probleem is dat websites gebruik maken van links om een bepaalde actie uit te voeren op een database, zoals het verwijderen van record. Een link is per definitie voor de browser (en server) een GET-method en zou derhalve niks mogen wijzigen in de database. Uit RFC 2116 (met dank aan t.net): Citaat:
Bovenstaande is niet zo moeilijk op te lossen. Echter, op heel veel forums (en websites waar je moet inloggen) wordt gebruik gemaakt van een sessie-id. Dit sessie-id wordt vaak meegenomen in de URL. Ook dit is niet goed, aangezien men zo gemakkelijk aan andermans sessie kan komen. Verder is er ook nog het probleem van cookies. Ik heb voor mezelf besloten om geen cookies meer te gaan gebruiken op mijn eigen website(s). Zonder cookies wordt het moeilijker om bij te houden wie is ingelogd. Normaal gesproken lees in op de server de cookie uit van de client en weet je wie het is. Tevens zal in een dergelijk cookie een aantal andere gegevens staan, zoals tijdstip laats bekeken bericht. Op basis van dit bericht wordt een topic (bij een forum) al 'Gelezen' gemarkeerd. Dit kan zonder cookies dus niet meer. Het probleem van gelezen/ongelezen topics heb ik al min of meer opgelost. De precieze uitwerking heb ik nog niet helemaal helder, maar het komt er op neer dat er in de URL van het topic een datum-tijd komt wat de laatste postdatum aangeeft (dus "http://forum.scholieren.com/Software& amp;Multimedia/1173225/20050508113806"). Op deze manier laat ik het aan de browser over om een URL als 'gelezen' te markeren, aangezien het a element een :visited pseudo-element heeft. Dit is namelijk veel netter tegenover de bezoeken. Op dit forum ben ik bijvoorbeeld nog nooit op ARTistiek geweest, maar alle topics staan daar wel op 'Gelezen'. Dit klopt naar mijn idee niet. Even samengevat:
Problemen:
Een kleine toelichting op het laatste punt: Aangezien tcp/ip een connectie loos (de connectie wordt verbroken nadat de gegevens zijn verstuurd) communicatie middel is, kun je op de webserver standaard niet weten wie welke pagina heeft opgevraagd. Per definitie is er dus geen (eenvoudige) koppeling tussen client en server. Maar is die koppeling wel wenselijk? In princiepe wel. Gebruikers moeten immers de mogelijkheid hebben om te kunnen posten. Maar de realiteit is dat het onmogelijk is om te doen zonder gebruik te maken van cookies - en laat dat nou net één van de voorwaarden zijn van mijn toekomstige sites. Wie heeft een idee over de problemen en de oplossingen? Wie ziet nog meer problemen en wil deze met mij delen? |
Advertentie | |
|
08-05-2005, 11:02 | |
Ik weet er weinig van af maar:
http://www.phpfreaks.com/tutorials/41/3.php ? Met deze methode (session_start(); ) geef je het sessionID toch niet mee aan de url?
__________________
Wie bang is voor morgen, kan niet genieten van vandaag.
|
08-05-2005, 11:18 | |||
Verwijderd
|
Citaat:
Citaat:
|
08-05-2005, 11:22 | |||
Verwijderd
|
Citaat:
Citaat:
Misschien dat de webserver dat bij kan houden (dus niet je site)? |
08-05-2005, 11:42 | ||||
Verwijderd
|
Citaat:
Ik neem aan dat bij je beheerspaneel je een lijst (tabel) hebt met: forum, omhoog, omlaag (weet ik veel ). Je kan dan ipv de link er een input type="checkbox" van maken. Kun je er meerdere tegelijk doen. En als je er een type="text" van maakt, kun je zelfs nog een volgorde aangeven dmv 1, 2, 3, etc. Vervolgens kun je met de submit button het geheel doorvoeren Citaat:
Citaat:
|
08-05-2005, 22:59 | ||
Citaat:
__________________
Slechts beschikbaar via naamzoek/privebericht.
|
09-05-2005, 08:45 | ||
Citaat:
__________________
Slechts beschikbaar via naamzoek/privebericht.
|
09-05-2005, 11:52 | ||
Citaat:
Ik denk dat het vooral belangrijk is dat je -zowel bij GET als bij POST- de authenticiteit van de gegevens controleert. Dat je bijvoorbeeld bij een GET-actie controleert of de ingevoerde gegevens kunnen kloppen EN of de gebruiker in kwestie de permissie heeft om deze actie uit te voeren. (zo doe ik het momenteel althans) Je POST-actie kan je op dezelfde manier controleren. Wat ik doe om dit te controleren, is op de pagina met het form op een bepaalde string te plaatsen die ik dan in een server-sessie zet. De pagina die de POST verwerkt weet welke string dat moet zijn, en kan alsvolgt eenvoudig nagaan of de data idd van de juiste pagina komt. Bij mijn weten is dit vrij waterdicht, omdat deze string in je serverside-broncode staat en die dus nooit kan worden gelezen tenzij men gewoon de server hackt Maar ik kan me vergissen
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
|
09-05-2005, 11:58 | ||||
Citaat:
Citaat:
Citaat:
Laatst gewijzigd op 09-05-2005 om 12:00. |
09-05-2005, 12:12 | |||
Verwijderd
|
Citaat:
Citaat:
|
Ads door Google |
09-05-2005, 14:02 | ||
Citaat:
__________________
Slechts beschikbaar via naamzoek/privebericht.
|
09-05-2005, 17:43 | ||
Verwijderd
|
Citaat:
Maar het grootste probleem hiervan vind ik nog dat het ook niet geindexeerd wordt |
09-05-2005, 17:53 | ||
Verwijderd
|
Citaat:
*denkt* is dat niet ongeveer hetzelfde als een sessie-id meegeven in een URL? |
09-05-2005, 17:54 | ||
Verwijderd
|
Citaat:
|
09-05-2005, 18:02 | |
eddie, cookies zijn bedoeld om state bij te houden in het stateloze HTTP. Wat is daar mis mee?
__________________
Slechts beschikbaar via naamzoek/privebericht.
|
09-05-2005, 20:04 | |||
Verwijderd
|
Citaat:
Citaat:
In principe heb ik alleen maar de gebruikersidentificatie nodig op het moment dat deze een wijziging wil doen in de database (een post maken, aanpassen of verwijderen, een privébericht sturen, etc). Voor het tonen van een forum of een topic is in principe de identificatie niet noodzakelijk. Derhalve hoeft een cookie niet te worden gestuurd. Ten tweede is het door de gebruiker mogelijk om cookies te weren. Nu kun je een discussie beginnen over dat de gebruiker de keuze moet hebben: indien hij geen cookies wil gebruiken kan hij geen gebruik maken van de functionaliteit - maar die wil ik nu niet voeren. Ik probeer simpelweg een andere methode te vinden voor een cookie. Mocht het echt niet willen/kunnen, dan moet ik goed nadenken over de cookie beveiliging (cookie-hijacking bijvoorbeeld). En over dergelijke beveiliging wil ik het nu ook niet hebben |
Advertentie |
|
09-05-2005, 20:32 | ||
Citaat:
Snap ook wel dat het niet ideaal is, maar soms breng je een ander weer is op een idee. Kun je ook niet iets met een ip-adres of zoiets dergelijk, kun je de hwnd van de userwindow niet bijhouden? Heeft een computer geen unieke identificatie, die hij meestuurt?
__________________
Wie bang is voor morgen, kan niet genieten van vandaag.
|
09-05-2005, 20:47 | ||||
Verwijderd
|
Citaat:
Trouwens, gebruikers kunnen javascript uit hebben staan. Citaat:
Citaat:
De hwnd kan ik helaas niet opvragen aan de serverkant. Een MAC adres zou een unieke identificatie kunnen zijn, maar dan zit ik weer met de netwerken. Ik wil net zoiets eenvoudigs als ik in mijn TS heb gezegd over de 'Gelezen' status. Zoiets ligt voor de hand, maar je moet er maar op komen. *klopt zichzelf op schouder* Verder is het mijn bedoeling om alleen gebruikersidentificatie te hebben op pagina's waar het nodig is, zoals het posten van een bericht. Op enig ander pagina is het niet nodig, aangezien de informatie daarop niet afhankelijk is van de gebruiker (tenzij er met 'negeerlijsten' wordt gewerkt, maar dat is weer een ander verhaal...) |
10-05-2005, 09:53 | ||
Citaat:
Voor de rest zie ik de lol van deze onderneming nog steeds niet in.
__________________
Slechts beschikbaar via naamzoek/privebericht.
|
10-05-2005, 11:00 | ||
Verwijderd
|
Citaat:
Deze cached/prefetched volgens mij ook de cookies e.d. Verder vind ik cookies niet 'mooi' voor een website, net zoals sessie-id's in de link. |
11-05-2005, 19:46 | ||
Verwijderd
|
Citaat:
|
Advertentie |
|
|
|
Soortgelijke topics | ||||
Forum | Topic | Reacties | Laatste bericht | |
Software & Hardware |
Browser Verwijderd | 28 | 01-10-2003 08:03 | |
Software & Hardware |
[PHP]Bepaald aantal items per pagina -niels- | 45 | 16-05-2003 20:33 | |
Software & Hardware |
lelijkste,lompste en saaiste site op het web? H@nk | 18 | 21-01-2003 19:20 |