views:

53

answers:

2

Is there any way to force clear users cache and/or cookies? Especially in Safari/Webkit.

Many thanks!

+1  A: 

No, presuming that you want to clear ALL of it. The only cookies you can clear are the ones with "path" and "domain" attributes matching to your own application. The browser doesn't send the server anything else and it would be a serious security flaw if it did. Similar logic applies to client-side scripting.

However, all lights are green if you simply want to manage caching and cookies in the context of your own application. Caching can be turned off by sending relevant HTTP headers along with the response:

Cache-Control: no-cache, must-revalidate
Expires: Thu, 1 Jan 1970 00:00:00 GMT
Pragma: no-cache

Clearing a cookie comes down to setting it's expiration date into the past. A browser does not send out expired cookies.

Saul
+1  A: 

Yes. Trick the user into selecting the appropriate menu item which clears their cookies and cache. I kid! That would be called "social engineering" type of hacking and is inadvisable for those wishing to stay clear of legal troubles.

There are a couple of tags that may be useful, depending on what you want to do:

<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Refresh" CONTENT=...time>

This only controls your own web page, not the cache in general. Of course, you can set your own site's cookies to whatever you want.

paul