- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
$URi = str_replace("/projects/GCore/", "", $URi);
$U = preg_split('//', $URi, -1, PREG_SPLIT_NO_EMPTY);
$URI = "";
$is_get = 0;
$get_key = "";
$get_is_value = 0;
$value = "";
for( $i = 0; $i < count($U); $i++){
if( $U[$i] == "?" || $is_get == 1){
$char = $U[$i];
if( $char != "?" ){
if( $get_is_value == 0 || $char != "=" || $char != "&" ){
$get_key = $get_key.$char;
}else if( $char == "=" ){
$value = $value.$char;
$get_is_value = 1;
}else if( $char == "&"){
$_GET[$get_key] = $value;
$get_key = "";
$value = "";
$get_is_value = 0;
}
}
$is_get = 1;
}else{
$URI = $URI.$U[$i];
}
}
Была проблема с .htaaccess, гет запросы не передавались, пришлось делать парсер гета))))
d_fomenok 11.05.2017 11:36 # −8
.htaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac cess
TeaBag 11.05.2017 12:55 # −8
Вот в перле все по уму, там use CGI;
Dummy00001 11.05.2017 13:00 # 0
а че встроенной функции никакой нету??... глупый гугл "php parse http get line" даёт первым результатом: http://php.net/manual/en/function.parse-str.php
самое говно тут скорее всего с древней дыркой безопастности: нет проверки на ".." элементы в пути, что в руках умельцев равносильно неограниченому доступу к винту сервака. как раз из-за таких дырок ручной парсинг и умер.
Gameizeazy 11.05.2017 14:39 # 0
Gameizeazy 11.05.2017 14:43 # 0
Gameizeazy 11.05.2017 14:49 # 0
По мне так, можно и сделать проверку этой фигни.
baropinho 11.05.2017 21:53 # −8
d_fomenok 12.05.2017 08:07 # −8
baropinho 12.05.2017 09:58 # −8
d_fomenok 12.05.2017 13:08 # −8
VZHUH 18.05.2017 22:09 # 0
CrashTesterAnusov 18.05.2017 23:25 # −6