Development Architecture blog is designed for developers who have some troubles in their code.
This blog will be mainly on web development, though many of it's posts can be used also on software design.
I wish you nothing but the best,
IE Blocking IFrame Cookies
A company wishes to set development standards.
A company you must know how to work with.
A company we all hate to love.
A little story, if I may.
I work in a company that supply sports betting solutions for online gaming web sites. About 2 months ago we got a new client with a slightly weird request - The solution should be placed in an existing site's IFrame.
The minute I heard that request I thought to myself that the amount of problems we'll encounter will give us tremendous amount of work. But as always - The client's always right.
Three weeks ago we were almost ready for beta when our QA discovered some small issues regarding user preferences: Odds, Time Zone and Languages are not displayed correctly only on IE 7 and IE 8.
After wishing some bad things to happen to Bill, my next action was to open the HttpWatch tool IE has and locating where the cookies are being set. I saw that whenever the cookies are set as Session Cookie i all work as it should, the problem then lays with cookies that have expiration date.
Since I was responsible for deploying 3 white labels (each project is called white label) this whole process took me about 2 weeks!
So, after writing some angry emails to Microsoft (but not sending them) I started looking for someone's solution to that problem. And that it was when I encountered a very small and cute article talking about P3P or as you might know it: "Platform for Privacy Preferences (P3P) Project".
In short, unless you have some identifier in the page's header - IE wont except you third-party cookie. So you need to set the P3P header in every page you wish the cookie to appear.
I took the time to write the header addition in some languages / platforms:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
response = render_to_response('mytemplate.html')
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'
response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")
Protecting personal data can be overwhelming, but it is not impossible. There are highly secure tools both online and offline to protect personal data. Shielding personal data can be logical, highly secure as well as inexpensive. Protecting Personal Data Offline Physically lock your financial records and personal documents in a safe place in your home. Purchase an inexpensive fire-proof safe that can be stored in a secure closet, built in your floor or wall. A good fireproof safe costs from $100 to $3000 (Sears, 2013). Protect your wallet and or purse in a desk drawer at work. Limit what you carry when you go out. Never keep your social security card in your wallet; lock it up. When filling out forms in the workplace, the doctor’s office, or your child’s school ask how your information will be safeguarded. If you do not have to fill out every little detail of your life, leave that portion blank. Ask for the consequences of not providing specific information. Shr
Behavior Driven Development, Test Driven Development, and Everything Between What is TDD (Test Driven Development) Test Driven Development was introduced by Kent Beck, in 2003. This followed the concepts of Extreme Programming, introduced in 1999 with a development experiment done by both IBM and Microsoft. The purpose of the Test Driven Development is to make sure code is clear, tested, and as redundant as possible, by making sure the tests are written first, and code is being added to "fill the blanks". Every code iteration needs to pass all tests (may those be unit tests, integration tests, data integrity tests, or UI tests). Writing the tests first allow us to see what fails, how, and allow us to visualize the structure of our code, by making sure each test is performed to test a specific, extremely defined sub-section of a feature. Let's assume a "BasicMaths" class, to perform simple mathematics operations. [TestClass] public class Uni