- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
if(!empty($_SESSION["aktion"])){
//Если сесии не найдено то проверяем если куки
if(isset($_COOKIE["key"]) && isset($_COOKIE["PHPSESSID"]) && isset($_COOKIE["wrkesh"])){
//Прогоняем куки через фильтры
$test["key"] = htmlspecialchars($_COOKIE["key"]);
$test["key"] = stripslashes($_COOKIE["key"]);
$test["key"] = mysql_real_escape_string($_COOKIE["key"]);
$test["PHPSESSID"] = htmlspecialchars($_COOKIE["PHPSESSID"]);
$test["PHPSESSID"] = stripslashes($_COOKIE["PHPSESSID"]);
$test["PHPSESSID"] = mysql_real_escape_string($_COOKIE["PHPSESSID"]);
$test["wrkesh"] = htmlspecialchars($_COOKIE["wrkesh"]);
$test["wrkesh"] = stripslashes($_COOKIE["wrkesh"]);
$test["wrkesh"] = mysql_real_escape_string($_COOKIE["wrkesh"]);
//проверяем если такая запись в бд
$test_result = mysql_query("SELECT * FROM session WHERE md_5_id='$test[wrkesh]' AND ip='$_SERVER[REMOTE_ADDR]' AND clucc='$test[key]' AND sid='$test[PHPSESSID]'");
$test_myrow = mysql_fetch_array($test_result);
if($test_myrow ==true){
//Если даные с кук и бд совподают то создаём сессию
$_SESSION["aktive"] ="aktive";
mysql_close();
}
}
}
Универсальное быдлоправило "Как слышим, так и пишем".
Но тут в этом коде, не проверяется включены ли они.
а вообще вот пхп за то и раздражает, что от конфиги так сильно зависит работоспособность кода (причем, принцип "не знаешь - не трогай" не срабатывает)
может это кто-то в ответе на вопрос такое написал или вопрос такой сделал.
===
Но даже если известны настройки сервера, всё равно не надо писать без всяких проверок. А вдруг настройки поменяются (например, по ошибке человека) или придётся переехать на другой сервер.
Такое ощущение, всё что знал, то и написал
а никого не смутило, что в $test["key"] попадёт строка, преобразованная только одним способом а не тремя? Или в пэхапэ такой финт прокатит?
А вот говнокод в том, что одна и та же пачка операций выполняется над тремя разными параметрами. Это повод для того, чтобы выделить используемые чистилки в отдельный метод. Или в функцию, не помню как в пхп принято называть. И сразу же видим проявление этой говнистости: баг из-за копипаста размножился 3 раза и исправлять его также надо 3 раза. При чистом подходе исправление в одном методе сразу бы решило проблемы во всех случаях использования.
Я что-то пропустил ?
(O_o)
мы им винду, они нам мэйлрушечку
Я не сразу врубился, что это ответ а не исходник mail.ru
^_^
это сборище перловых скриптов 1999го года, запатченного сендмейла и кучки дегенератов)
Рекомендовал как яд для смазывания стрел.