город какой?
Мегафон модем 4G довольно шустрый.
Да не.. всё старое.. и способы "защиты" известны..
На случай, если это было сказано с сарказмом.
Сам наблюдал ситуацию, когда дублированная страница со строкой запроса вида ?r=12_12 в выдаче стояла выше, чем ?r=12. Естественно, ссылки были закуплены на "правильную" вторую страницу.
Так уже послали.. Ибо, если человек
/что в моём понимании означает "только начал и имею желание "подрасти" в этой области/
,то не мешает изучить основы... особенно, если решение можно нагуглить в течение 10 минут.
Это оно и есть. Если работает и не забудется при обновлении - можно и оставить ;)
А вообще, более правильно унаследоваться от CI_Input и переопределить _sanitize_globals
http://codeigniter.com/user_guide/general/core_classes.html абзац Extending Core Class
В system/application/config/config.php указаны допустимые для адреса символы
$config['permitted_uri_chars']='';// вообще уберёт проверку URI
Если (скорее всего) не поможет - причина похожая. Кроме URL CI проверяет и ключи в "суперглобальных" массивах. Ситуация может возникнуть, когда, к примеру, в ключе $_COOKIE-переменной "некорректный" символ.
p.s. Какая версия CI? И, если не секрет, что должен делать скрипт (как влияет на глобальные массивы)?
очень детально:
1. изучить инфу по ссылке (можно выборочно, в части касающейся выделенных слов:
Расскажите владельцам "ферм", "тюряг" и прочих игрушек с друзьяшками.. ;)
Имхо, код не лишён недостатков.. но switch в данном случае не намного лучше.
Соглашусь с LEOnidUKG
Как-то так бы сделал.. Потом просто файлики закидывать в razdels:
$r = $_GET['r'];// вставить нормальную обработку 404 ошибки.. // или обращение к другому файлу.. в общем, как задуманоif ($r!=(string)(int)$r) die('404 ошибка');$razdel = $r[0]; $file = substr($r,1);// если $razdel и $file не требуются дальше, их можно не присваивать, //а сразу находить $filename echo $filename = "razdels/$razdel/$file.php"; if (is_file ($filename)) include $filename;
По-моему, это "быстрее и удобнее" для конечного программиста, который (если) будет поддерживать код. С учётом того, что для "универсализации" времени потребуется не так много.
По поводу
$r=intval($_GET['r']);
Тут есть потенциальная "уязвимость" с точки зрения SEO.
?r=1 и ?r=1any - две одинаковых страницы (=дубли) с разным URL-ом. Не факт, что они появятся (хотя, у более-менее успешного сайта "доброжелатели" находятся довольно часто) Скорее всего, со временем поисковик разберётся и выкинет из индекса всё кроме одной, но не факт, что оставит нужную.
А что в $result падает, интересно.. =)
https://www.google.ru/search?q=robots.txt - так можно найти информацию
показывает, что ничего не запрещено