<rant necessity="low" hand_waving="on"> The problem here is: I wanted to acquire a Microsoft Word template from an online repository that is maintained by Microsoft and made available to me via links from within my installation of Microsoft Word 2002.
A question I would ask is: why bring ActiveX controls into the fray? It is a template for invoicing, not plans to enrich uranium. And potentially constraining your customer base to try various flavors of browsers until one "works" is unacceptable - even if it would ultimately drop this "Holy Grail" template into my lap.
Enabling cookies notwithstanding.
It is 2009. A brave, new world with genome mapping, energy drinks, and non-IE browsers. At least the EU thinks it should be. </rant>
Having gotten that off my chest, I failed to say thank you for trying to help me solve the issue at hand. I would not want you to think my frustrations are born out of your attempts to be a good person.
:) I completely agree. There's no reason to bring proprietary technology (other than Office) into downloading a template for an Office product.
So I see two issues. First is that ActiveX appears to be required. The second is that the first problem is made worse with bad error messages and a proposed solution that doesn't deal with the problem.
IMO, A user should not need to know about ActiveX (a technology platform detail) and what browsers it runs on to solve the problem.
Sometimes software fails in obvious ways. Other times we're left to ask "Is there a problem here?"
Please vote, add your commentary, and submit possible problems for publication.
Have a bad, discombobulating, or funny software experience? How about a pleasant surprise by software that exceeds your expectations? Take a screen snapshot and submit your story.
Software testing tools: Heuristics for recognizing problems.
• Visibility of system status Visibility of system status: The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
• Match between system and the real world Match between system and the real world: The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.
• User control and freedom User control and freedom: Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
• Consistency and standards Consistency and standards: Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
• Error prevention Error prevention: Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.
• Recognition rather than recall Recognition rather than recall: Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
• Flexibility and efficiency of use Flexibility and efficiency of use: Accelerators -- unseen by the novice user -- may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.
• Aesthetic and minimalist design Aesthetic and minimalist design: Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.
• Help users recognize, diagnose, and recover from errors Help users recognize, diagnose, and recover from errors: Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.
• Help and documentation Help and documentation: Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large.
1. Injection Injection: Injection flaws occur when untrusted data is sent to an interpreter as part of a command. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing data without authorization.
2. Broken authentication and session management
Broken authentication and session management:
Application functions related to authentication and session management are often not implemented correctly, allowing attackers to compromise passwords, keys, or session tokens, or to exploit other implementation flaws to assume other users’ identities.
3. Cross-Site Scripting
Cross-Site Scripting (XSS):
XSS flaws occur whenever an application takes untrusted data and sends it to a web browser without proper validation or escaping. XSS allows attackers to execute scripts in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites.
4. Insecure Direct Object References
Insecure Direct Object References:
A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key. Without an access control check or other protection, attackers can manipulate these references to gain unauthorized access to data.
5. Security Misconfiguration
Security Misconfiguration:
Good security requires having a secure configuration defined and deployed for the application, frameworks, application server, web server, database server, and platform. Secure settings should be defined, implemented, and maintained, as defaults are often insecure. Additionally, software should be kept up to date.
6. Sensitive Data Exposure
Sensitive Data Exposure:
Many web applications do not properly protect sensitive data, such as credit cards, tax IDs, and authentication credentials. Attackers may steal or modify such weakly protected data to conduct credit card fraud, identity theft, or other crimes. Sensitive data deserves extra protection such as encryption at rest or in transit, as well as special precautions when exchanged with the browser.
7. Missing Function Level Access Control
Missing Function Level Access Control:
Most web applications verify function level access rights before making that functionality visible in the UI. However, applications need to perform the same access control checks on the server when each function is accessed. If requests are not verified, attackers will be able to forge requests in order to access functionality without proper authorization.
8. Cross-Site Request Forgery
Cross-Site Request Forgery (CSRF):
A CSRF attack forces a logged-on victim’s browser to send a forged HTTP request, including the victim’s session cookie and any other automatically included authentication information, to a vulnerable web application. This allows the attacker to force the victim’s browser to generate requests the vulnerable application thinks are legitimate requests from the victim.
9. Using Components with Known Vulnerabilities
Using Components with Known Vulnerabilities:
Running software components with known vulnerabilities can compromise the vulnerable components and anything those components can access -- undermining defenses.
10. Unvalidated Redirects and Forwards
Unvalidated Redirects and Forwards:
Using untrusted data, without validation, to determine the destination of redirects and forwards can enable attackers to redirect victims to phisihing or malware sites.
7 Comments:
February 25, 2009 at 11:53 PM-
Comment ID:
4919591789121057070
-
-
February 26, 2009 at 12:10 PM
-
Comment ID:
5434514677570995145
-
-
February 26, 2009 at 1:20 PM
-
Comment ID:
3443675614919311603
-
-
February 26, 2009 at 11:15 PM
-
Comment ID:
2205718658398112693
-
-
February 26, 2009 at 11:18 PM
-
Comment ID:
70944691143449208
-
-
February 27, 2009 at 7:02 AM
-
Comment ID:
458074464644579281
-
-
March 10, 2009 at 5:54 PM
-
Comment ID:
9222997414309045089
-
This comment has been removed by a blog administrator.
-
Written by: Ben Simo
I suspect this issue that triggered these screens may be that IE (and not Chrome) is needed for the ActiveX requirements of the Microsoft Office site.
However, the 'needed' solution for the problem is a bigger problem.
Written by: Zachary Fisher
Tried it in Firefox as well. Same results.
Written by: Ben Simo
Try IE. If it really requires ActiveX, then it likely requires IE. If so, a better error message would be to state that Internet Explorer is required.
Written by: Zachary Fisher
<rant necessity="low" hand_waving="on">
The problem here is: I wanted to acquire a Microsoft Word template from an online repository that is maintained by Microsoft and made available to me via links from within my installation of Microsoft Word 2002.
A question I would ask is: why bring ActiveX controls into the fray? It is a template for invoicing, not plans to enrich uranium. And potentially constraining your customer base to try various flavors of browsers until one "works" is unacceptable - even if it would ultimately drop this "Holy Grail" template into my lap.
Enabling cookies notwithstanding.
It is 2009. A brave, new world with genome mapping, energy drinks, and non-IE browsers. At least the EU thinks it should be.
</rant>
Written by: Zachary Fisher
Having gotten that off my chest, I failed to say thank you for trying to help me solve the issue at hand. I would not want you to think my frustrations are born out of your attempts to be a good person.
Written by: Ben Simo
:) I completely agree. There's no reason to bring proprietary technology (other than Office) into downloading a template for an Office product.
So I see two issues. First is that ActiveX appears to be required. The second is that the first problem is made worse with bad error messages and a proposed solution that doesn't deal with the problem.
IMO, A user should not need to know about ActiveX (a technology platform detail) and what browsers it runs on to solve the problem.
Written by: Anonymous
Post a Comment