This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "OWASP PureCaptcha"
KateHartmann (talk | contribs) (Created page with "=Main= <div style="width:100%;height:160px;border:0,margin:0;overflow: hidden;">link=</div> {| style="padding: 0;margin:0;margin-top:10px;t...") |
Abbas Naderi (talk | contribs) (updated reop links to OWASP github) |
||
(16 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
| valign="top" style="border-right: 1px dotted gray;padding-right:25px;" | | | valign="top" style="border-right: 1px dotted gray;padding-right:25px;" | | ||
− | + | Welcome to OWASP Pure Captcha project page! | |
− | |||
− | |||
− | |||
==OWASP PureCaptcha == | ==OWASP PureCaptcha == | ||
− | Use CAPTCHAs in your application without any dependencies, no | + | Use CAPTCHAs in your application without any dependencies, no required libraries and nothing to install. Just include a single small source-code file to have fully functional lightweight CAPTCHAs in your project. |
==Description== | ==Description== | ||
Line 22: | Line 19: | ||
==Licensing== | ==Licensing== | ||
Creative Commons Attribution ShareAlike 3.0 License | Creative Commons Attribution ShareAlike 3.0 License | ||
+ | |||
+ | Apache 2 License | ||
| valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" | | | valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" | | ||
== Project Resources == | == Project Resources == | ||
− | |||
− | |||
− | |||
− | [https://github.com/ | + | [https://github.com/OWASP/PureCaptcha Download] |
− | [https://github.com/ | + | [https://github.com/OWASP/PureCaptcha Source Code] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Project Leader == | == Project Leader == | ||
Line 50: | Line 36: | ||
== Related Projects == | == Related Projects == | ||
− | + | [[OWASP PHP Security Project]] | |
− | |||
− | |||
− | |||
+ | [[CSRFProtector Project]] | ||
==Classifications== | ==Classifications== | ||
Line 71: | Line 55: | ||
== News and Events == | == News and Events == | ||
− | + | First version released! | |
− | |||
− | |||
+ | |} | ||
+ | = Documentation = | ||
− | + | There are basically three operations needed to properly utilize CAPTCHAs: | |
+ | |||
+ | * Generating A Captcha | ||
+ | This can be done by the '''show''' method of PureCaptcha. It will terminate the current request and return an image to the client. | ||
+ | * Persisting The Captcha Value | ||
+ | The '''show''' method also returns a string equal to the Captcha contents. You need to persist it on the session for the user (preferably for a limited amount of time). The example code shows how this can be done simply in your programming language, but any other persistence layer would be fine. | ||
+ | Keep in mind that for every Captcha used inside your application (e.g one for login page, one for password reset page, one for remove user page) you should persist the Captcha separately, so that a user can simultaneously use all your applications functionalities without one Captcha overriding the expected value for the other. | ||
+ | * Validating The Captcha | ||
+ | '''It is very important to remove the Captcha from persistence after its validated, whether its wrong or right.''' If you leave a Captcha persisting after validation, attackers can bypass your Captcha by inspecting it once and then using the same Captcha over and over to send requests to your application. See the example usages for more details. | ||
=FAQs= | =FAQs= | ||
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | ||
− | + | ==How Can I Use PureCaptcha?== | |
− | + | Just include the source code file in your project, and visit the sample usage files to learn how to properly use a captcha. | |
− | |||
==How can I participate in your project?== | ==How can I participate in your project?== | ||
Line 88: | Line 79: | ||
==If I am not a programmer can I participate in your project?== | ==If I am not a programmer can I participate in your project?== | ||
− | Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator. | + | Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator. |
= Acknowledgements = | = Acknowledgements = | ||
Line 94: | Line 85: | ||
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
The first contributors to the project were: | The first contributors to the project were: | ||
Line 109: | Line 93: | ||
<!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | <!-- Instructions are in RED and should be removed from your document by deleting the text with the span tags.--> | ||
− | |||
− | |||
− | |||
− | |||
==Roadmap== | ==Roadmap== | ||
Currently PHP library is available and tested. Porting to all major programming languages is the next step. | Currently PHP library is available and tested. Porting to all major programming languages is the next step. | ||
Line 123: | Line 103: | ||
===Coding=== | ===Coding=== | ||
+ | Any programming language you like, you can either port PureCaptcha to or improve the existing code! | ||
===Localization=== | ===Localization=== | ||
− | Are you fluent in another language? Can you help translate the text strings into that language? | + | Are you fluent in another language? Can you help translate the text strings and documents into that language? |
===Testing=== | ===Testing=== | ||
Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help. | Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help. | ||
===Feedback=== | ===Feedback=== | ||
− | mailing list | + | mailing list: TBA |
<ul> | <ul> | ||
<li>What do like?</li> | <li>What do like?</li> | ||
Line 135: | Line 116: | ||
</ul> | </ul> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{:Projects/OWASP_Example_Project_About_Page}} | {{:Projects/OWASP_Example_Project_About_Page}} |
Latest revision as of 17:43, 12 November 2014
There are basically three operations needed to properly utilize CAPTCHAs:
- Generating A Captcha
This can be done by the show method of PureCaptcha. It will terminate the current request and return an image to the client.
- Persisting The Captcha Value
The show method also returns a string equal to the Captcha contents. You need to persist it on the session for the user (preferably for a limited amount of time). The example code shows how this can be done simply in your programming language, but any other persistence layer would be fine. Keep in mind that for every Captcha used inside your application (e.g one for login page, one for password reset page, one for remove user page) you should persist the Captcha separately, so that a user can simultaneously use all your applications functionalities without one Captcha overriding the expected value for the other.
- Validating The Captcha
It is very important to remove the Captcha from persistence after its validated, whether its wrong or right. If you leave a Captcha persisting after validation, attackers can bypass your Captcha by inspecting it once and then using the same Captcha over and over to send requests to your application. See the example usages for more details.
How Can I Use PureCaptcha?
Just include the source code file in your project, and visit the sample usage files to learn how to properly use a captcha.
How can I participate in your project?
All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key.
If I am not a programmer can I participate in your project?
Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers, writers, graphic designers, and a project administrator.
Roadmap
Currently PHP library is available and tested. Porting to all major programming languages is the next step. Since the library is pretty small, this shouldn't be a hard task and can be done in one summer by 1 candidate.
Getting Involved
Involvement in the development and promotion is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:
Coding
Any programming language you like, you can either port PureCaptcha to or improve the existing code!
Localization
Are you fluent in another language? Can you help translate the text strings and documents into that language?
Testing
Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.
Feedback
mailing list: TBA
- What do like?
- What don't you like?
- What features would you like to see prioritized on the roadmap?
PROJECT INFO What does this OWASP project offer you? |
RELEASE(S) INFO What releases are available for this project? | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|