Results 1 to 3 of 3

Thread: Basic FORM Q (cgi/pl)

  1. #1
    Join Date
    Jan 2003

    Basic FORM Q (cgi/pl)

    (this is more general Q than html or perl, so I posted it here)

    I recently added a feedback form on my site. I put the perl script for it in the cgi/bin, and it's linked-to via a dozen different pages. It works fine, at least seems to, but since I'm not very hip about this aspect of online things (servers etc... I'm fine with HTML, CSS, etc) I had some basic concerns.

    1/ I've read there are exploits to corrupt such files in cgi bins... so I used a script from Perlmongers (it's pretty big... 73K) which is supposed to be secure from such things. Are there simpler scripts that are OK to use... or not? Or is php a better way to go (something I know even LESS about... LOL).Primary question is, what is the worst case thing that could happen here. I'm well aware of the worst case scenarios in the e-mail protocol world. Since I need a password to access my web folders via my ftp program (including the cgi bin), is that enough "protection" or am I being paranoid? I'm most concerned about someone (surreptitiously) re-directing form requests to another e-address, or just dead-ending them or something.

    2/ I'm also wondering about the ability of robots to harvest my e-mail addy from the html of the page my form is on. The perl script I used requires this (standard) hidden value in the html:

    <input type=hidden name="recipient" value="me@mysite.com">

    It's NOT been a BIG problem, but I have gotten spam e-mails to that e-addy (which is ONLY used for that form), and some are even "send-bounce-backs" from spoofs of that e-addy, although I NEVER "send" from it myself. The only way to have gotten a hold of this e-mail addy is from robots scanning servers, etc. Is having the e-mail addy located in that form element a necessity, or are there better ways to format the HTML... encode (hide) it within a few lines of Javascript or something? The perl-script also has that e-mail addy as a value inside the perl script too, but it doesn't work unless it's also in the html as a hidden value (as above).

    Thanks, Jack
    music is the best- FZ

  2. #2
    Join Date
    Jul 2003
    New York City
    Well, I'm not all that knowledgable about CGI, but you can simply put your email address directly into the CGI script if it's the same one used all the time, and edit the script so it doesn't require that tag. No robot can read it that way. JAVASCRIPT CANNOT HIDE SOURCE CODE!!! In terms of security, it really all comes down to what the script does. If it's simply sending form data to an email address, the worst the script can do is send data to an email address. However, some might hijack your script, such as linking to it from a form on their own website, inserting their email as a hidden input, as you do, and use it that way. But putting your email directly into the script will stop that. If your folder is password protected, then I'd say you are good. Unless you are dealing with sensitive data (like credit cards). If that's the case, then you should be ussing SSL (ie: https://www.yoursite.com) There's only so many security measures that can be put forth within reason.

  3. #3
    Join Date
    Jan 2003


    Thanks Bob... I'll look into getting a script that doesn't require that HTML-form tag on the form's page.

    I didn't think I could hide an e-mail addy with JS, but I thought I'd ask. I'm always finding strange obscure ways to do things that surprise me. I didn't know if a JavaScript function might be able to query a remote (hidden) host/file somewhere where a (sorta) "hidden value" (e-mail addy) could be accessed... or if there existed some JS function that used an e-mail addy as variable with a different format structure that robots wouldn't recognize. I understand a little JS... but not all that much.
    music is the best- FZ

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.19784 seconds
  • Memory Usage 2,844KB
  • Queries Executed 13 (?)
More Information
Template Usage (32):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (3)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • bbcode_parse_start
  • postbit_imicons
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates