vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   Want to be a Hacker and not a Copy and Paster? (https://vborg.vbsupport.ru/showthread.php?t=52291)

amykhar 04-27-2003 10:00 PM

Want to be a Hacker and not a Copy and Paster?
 
One of the very best ways to learn a new coding language is to create a real-world application for yourself and then code it. Tutorials and books have their place, but you will learn more, faster if you try to solve a real problem on your board.

For example, lets say you see a hack that shows the last 10 posts on a different forum page. You like that hack just fine, but you don't want to show 10 posts, only 5. A copy and paster will post a request in the hack's thread to modify the hack for 5 posts instead of 10. A hacker will look at the hack's code and try to figure out HOW the hack gets the 10 posts and change that to 5.

In modifying code, there are a few concepts that are key.

1. If / else clauses: These little conditional clauses allow your code to make choices. Do this if the logged in person is a moderator but do that if they are an admin.

http://www.zorka.com/home/phptutoria...vent=lesson/if

2. OR and AND: Those two little words will allow you to do extraordinary things. I can't tell you how many times I have been asked to modify a hack so that it includes an extra usergroup, user, style, whatever. So many times, it is merely a matter of adding an OR or an AND to a query.

http://hotwired.lycos.com/webmonkey/...tw=programming

3. Queries: You don't have to memorize writing queries. Find similar queries in the vbulletin code and then copy, paste and modify! If you need to find all the users in your forum who have made more than a thousand posts, find another query that is looking for users and copy the code and tweak it. Look in phpmyadmin to see the names of the columns you are interested in and experiement. HINT: When writing code to delete data, test your queries with SELECT first. That way you won't accidentally delete the wrong thing.


You are not going to learn how to customize your board if you don't get in there and get your hands dirty. Figure out what you want to do to your board and then find example code that can get you started. Your code won't be neat. It won't be efficient. But, it will be yours. And, after a bit of practice, your code will improve and you will be releasing your own hacks instead of having to depend on others to do it for you.

Amy

Erwin 04-28-2003 10:35 PM

Hear hear. :)

Razor 04-28-2003 11:36 PM

Nice post. I've seen soooo many people around here asking for things that are just a simple change of a few strings of code.

Xenon 04-29-2003 04:17 PM

nice and true amy :)

every good hacker surely has experienced that hisself :)

amykhar 04-29-2003 04:27 PM

When I worked as a software developer, I had a reputation of getting things done fast - even if working in a language that I don't really know or with unfamiliar code. The secret has always been knowing how to take existing code that I find here and there and modify it to do what I want. I still say the best programmers are almost always plagiarists to some extent :D

Amy

Dean C 04-29-2003 05:50 PM

Great read Amy :)

- miSt

flup 05-02-2003 08:38 AM

I've learned myself php that way......but i'm now still learning from a good dutch page (2 very very good mySQL tutorials, i wil place them here in englisch today)

chad 07-18-2003 04:17 AM

yeah . thats a good thing that hacks are open sourced so we can all learn!

Erwin 07-18-2003 04:52 AM

I'm having fun with vB3 now... ported a few hacks over already. Basically it's not hard. It's so much more secure too!!! Especially with the _POST and _REQUEST protection... good!

Gavin B. 07-18-2003 08:03 AM

Yep, good advice! :)


Quote:

Today at 06:52 AM Erwin said this in Post #9
I'm having fun with vB3 now... ported a few hacks over already. Basically it's not hard. It's so much more secure too!!! Especially with the _POST and _REQUEST protection... good!
Didn't vb2 have protection on this as well? :)


All times are GMT. The time now is 02:36 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01620 seconds
  • Memory Usage 1,736KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete