это смотря в какой версии(я про длинные и короткие имена массивов).
register-globals=off
нельзя обращаться к переменным как к глобальным. пример:
myindex.php?param=1
Код:
echo $param1 //ничего
а если бы было включено, то:
теперь про get & post
про get
если знать имена переменных которые идут через get(а это раз плюнуть) и скрипт написан так, что никто не проверяет пользователя, а просто делает свое дело, то естественно любой может через адресную строку сделать все-что угодно.
про post
метод можно проверять так:
$HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST' - но это при условии, что у вас apache, хотя все нормальные серверы по идее должны поддерживать эту переменную.
если все удаляется через POST метод, то GET здесь не прокатит в любом случае. если только у вас где-то ошибка. но аутентификацию нужно сделать обязательно. больше того, обязательно нужно проверять ещё и откуда к вам пришли, т.е. IP и REFERRER. но и этому не стоит доверять(хотя ипользовать нужно). лучше сделать классический mixed mode или аутентификацию на базе средств ОС.
mixed mode заключается в том, что после успешной проверки логина и пароля(например через базу), вам выдается и записывается(в базу) уникальный ID. а когда вы "ходите" по страницам, он каждый раз проверяется(например как скрытое поле в форме). т.е. значения и на странице и в базе должны совпадать. а когда вы делаете "выход" значение в базе аннулируется.