Results 1 to 3 of 3

Thread: how to automate putting into ip into ips.txt file for use with script that filters ip

  1. #1
    Join Date
    Mar 2012

    resolved how to automate putting into ip into ips.txt file for use with script that filters ip

    hi i have a script that prevents banned ips from viewing the index file or anyfile that includes script i will paste below

    help adding a banned ip into ips.txt file

    to use include check_ip.php listed below

    PHP Code:
    if (
    in_array($_SERVER['REMOTE_ADDR'], $banned)){
    <body style="background:#000000">
    <body bgcolor="#000000" text="#FFFFFF" link="#0000FF"> 
    <font color="orange" font size="+4">
    <img src="/images/logojnet.png" width="65" height="48" alt="logo" title="J~Net"  style="padding:15px;"></a> 
    <br> You Are Banned!<p> To Check Again <p> Click <a href="/">Here!</a><p><br> <p> Or To Leave<p><br> Click <a href="http://www.google.com">Here!</a>'

    I am asking, how to 1. detect if someone should be banned based on a attempted ddos attack (maybe using (excess amount of ping data within a set amount of short time),

    and second, how to then add that ip (from user that is attempting to do a ddos attack), into ips.txt file, both files are on the root of the web server on linux apache 2. if you can help with 1 or more parts of this please reply.

  2. #2
    Join Date
    Mar 2007
    IP addresses are not permanent which means if you add an IP address to your banned list, at some point that IP address could be recycled to a valid user and you could be blocking a user that may not be the original person you banned.

    My IP address is different every time I log on to and use the internet.

    So... if you are wanting to do this, I suggest that you use a database for speed and if you are not using mysql, then check to see if sqlite is present and use that as it increases speed of access and you would reduce your script down to a simple query.

    Something like this...
    PHP Code:
    sqlite_open("bannedIPaddresses") or false;
    $dbheader("Location: errorpage.php");
    // run a query to find if the database has an IP address in it
    $banned sqlite_query($dbsqlite_escape_stringsprintf("SELECT * FROM banned WHERE bannedIP='%s' LIMIT 1;--",$_SERVER['REMOTE_ADDR']) ) );
    // if we have a row returned then the database has a banned IP
    if( sqlite_num_rows($banned)>header("Location: bannedpage.php");
    So what is happening now is any bad IP addresses that are in the database are sent to another page leaving your regular page to be displayed.

    You could add a date added so that your query can ignore any IP's added after a set time period.

    I have a website which harvests IP addresses and records what URL was requested along with the time and date and it uses sqlite to do the job. I occasionally load up a viewer to look at the contents but I am too lazy to add a feature to calculate what URL is popular (page) and how often they are visited.

    Anyway, I hope that this helps you on your way.
    --> JavaScript Frameworks like JQuery, Angular, Node <--
    ... and please remember to wrap code with forum BBCode tags:-

    [CODE]...[/CODE] [HTML]...[/HTML] [PHP]...[/PHP]

    If you can't think outside the box, you will be trapped forever with no escape...

  3. #3
    Join Date
    Jul 2010
    This is a job for a firewall. Not a web developer... The overhead of opening a sqlite (single user database) per HTTP request is insane. You could easily be the recipient of a no-cache DOS deluge ;\ the most appropriate place to handle this is in the firewall. Do not give them a nice error page, just drop the packets and kick their banned ass to the curb.
    I use (, ; : -) as I please- instead of learning the English language specification: I decided to learn Scheme and Java;

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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.09420 seconds
  • Memory Usage 2,867KB
  • Queries Executed 15 (?)
More Information
Template Usage (33):
  • (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
  • (2)bbcode_php
  • (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 (73):
  • 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_postinfo_query
  • fetch_postinfo
  • 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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit
  • 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