PHP - Muvofiq emas - 406 - fayl ushbu serverda topilmadi

Men bu xatoni oldim

qabul qilinmaydi

     

So'ralgan resursning tegishli vakili   /admin/prc_res.php bu serverda topilmadi.

     

Bundan tashqari, harakatlanayotganda 406 ta qabul qilinmaydi xato paydo bo'ldi   so'rovni bajarish uchun ErrorDocumentdan foydalanish.

Bu xatoni beruvchi $ _ POST ["qo'shimchainfo '] (HTML teaxtarea ) mavjud. Agar uni o'chirsam, kod yaxshi ishlaydi.

Lekin nima uchun 406 xatoini olaman?

My index1.php ning unnat1ir.in/cdn/

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>406 Error</title>
</head>

<form method="post" action="process.php">
<button type="submit">Check for 406 Error</button> </form>


This form is posted to process.php. In process.php I am just echo-ing $_POST['test'] of the textare with tinymce plugin. If little amount of data is entered in textarea, no issues, BUT LARGE DATA will cause 406 error

Please check by inserting large html data

<body>
</body>
</html>

Va process.php

<?
ini_set("log_errors", 1);
ini_set("error_log", "err.txt");
?>

The echo ($_POST['test']) is



<? echo htmlentities($_POST['test']); ?>


All the above codes working fine on localhost

1
MVCE yarata olasizmi? Bunda biz ko'p narsalarni qila olamiz, ammo buning o'rnini to'ldirishga ishonchimiz komil emas: stackoverflow.com/questions/14251851/…
qo'shib qo'ydi muallif HPierce, manba
qo'shib qo'ydi muallif bansi, manba
LOL, ya'ni provayderlarning 98% ni tashkil qiladi. Hozir hamma narsa yaxshi ekanini eshitish yaxshi.
qo'shib qo'ydi muallif bansi, manba
kodingiz 406 xatolikni yaratmaydi va juda yaxshi. Apache/php konfiguratsiyasida noto'g'ri narsa mavjud. qaerga qaramasligim haqida hech narsa kelmaydi
qo'shib qo'ydi muallif bansi, manba
aslida > < bu muammolarni tahlil qilishda noto'g'ri narsa qilayotganingiz sabab bo'lishi mumkin. faqatgina kodni tekshirgandan keyin nima sodir bo'lishini aytish mumkin
qo'shib qo'ydi muallif bansi, manba
Siz qanchalik katta gapirasiz? Men ishlayotgan 250 ta matn bilan sizning shaklingizni sinab ko'rdim. 750kgacha matnni tekshirish va ishlov berish va 1M dan yuqori darajada so'rovni bajarish juda katta </​​code> xato emas 406
qo'shib qo'ydi muallif bansi, manba
bu g'alati (siz noto'g'ri jurnal faylini qidirishingiz mumkin). qaysi veb-serverdan foydalanmoqdasiz? brauzerdan foydalanasizmi? Shuningdek, kirish jurnalida biror narsa topishingiz mumkinligini tekshiring
qo'shib qo'ydi muallif bansi, manba
veb-server xato jurnalining tegishli qismini olishga urinib ko'ring, haqiqiy xatolik 406.406 oldidan oldin bo'ladi. Odatda katta ma'lumotlar tufayli emas. Shuningdek, yaratilgan 406 xat sizning skriptingiz tomonidan emas. 404 sahifasining mis-konfiguratsiyasi
qo'shib qo'ydi muallif bansi, manba
Muammo nima ekanini bilaman, lekin taqdim qilgan aloqalar endi ishlamaydi. Muammoni ko'rsatadigan boshqa havolalar bormi?
qo'shib qo'ydi muallif Rei, manba
@bansi ushbu kodni qo'shdi
qo'shib qo'ydi muallif A B Catella, manba
@bansi mening hosting provayderi bilan 90 daqiqadan ko'proq suhbat suhbatlashgan. Nihoyat, ular "kod" bu mod_security kabi ba'zi xavfsizlik siyosati, biz ba'zi belgilarga ruxsat bermaymiz, biz sizga yordam bera olmaymiz, bla bla blah. (HAMKORLIKLARNI MAShQA NIMA BO'LADI? ). Ertasi kuni tongda shakllar ish boshladi. Ha ha haa .....
qo'shib qo'ydi muallif A B Catella, manba
process.php ichida @bansi kodim <? ini_set ("log_errors", 1); ini_set ("error_log", "err.txt");

var_dump ($ _ Post ["sinov"])


<? echo htmlentities ($ _ POST ["sinov"]); ?>
-ni tanlang
qo'shib qo'ydi muallif A B Catella, manba
Yo'q, uning to'g'ri, men qo'lda o'rnatish xato faylini. Endi esa, matn maydonida <div> </div>// ni qo'yib qo'yganim, bu xatoga sabab bo'ladi. escape narsalarga kerakmi? yangi URL unnat1ir.in/cdn/index1.php
qo'shib qo'ydi muallif A B Catella, manba
@bansi error_log tekshirildi va bo'sh. Error_log faylga yozilgan xato haqida ma'lumot yo'q
qo'shib qo'ydi muallif A B Catella, manba

6 javoblar

Buning sababi, siz tirnoq va hokazo. kabi matnli maydon orqali kiritilgan ba'zi html belgilaridan qochib ketmasligingizdir. Buning tagidagi kodni sinab ko'ring.

mysql_escape_string($_POST['additionalinfo']);
1
qo'shib qo'ydi

harakat qilib ko'ring:

<?
ini_set("log_errors", 1);
ini_set("error_log", "err.txt");
?>

The echo (htmlspecialchars($_POST['test'])) is



<? echo htmlspecialchars($_POST['test']); ?>


Qo'shimcha ma'lumot olish uchun

0
qo'shib qo'ydi
Men ham mahalliy mashinam bor va u erda yaxshi ishlaydi echimlarni topish harakat qilaman.
qo'shib qo'ydi muallif Amitesh Kumar, manba
kodni o'zgartirdingiz.
qo'shib qo'ydi muallif Amitesh Kumar, manba
Faqat apache qayta ishga tushirishni sinab ko'ring. Odatda, Linux/mac mashinalarida /var/log/httpd papkasida apache xato logini (log faylingiz emas) va logs jildini tekshirib ko'ring.
qo'shib qo'ydi muallif bansi, manba
Yopirilgan OP kodi to'liq amal qiladi. Siz kiritgan o'zgarishlarni kodning HTML qismida ekanligini bildingizmi?
qo'shib qo'ydi muallif bansi, manba
Ha, bir xil xato. Siz ni yuborishni xohlaysizmi?
qo'shib qo'ydi muallif A B Catella, manba

Ushbu kodni sinab ko'ring (ochilish teglarini ko'ring):

<?php
ini_set("log_errors", 1);
ini_set("error_log", "err.txt");
?>

The echo ($_POST['test']) is



<?php echo htmlentities($_POST['test']); ?>



0
qo'shib qo'ydi

Bu sizning php.ini konfiguratsion bilan bog'liq muammo bo'lishi kerak, tahrirlashga harakat qiling

post_max_size=80M or something to increase the limit.

0
qo'shib qo'ydi
Hech kimga 2 ta belgini yuborish uchun 80M hajmdagi xabar kerak emas, deb o'ylamayman.
qo'shib qo'ydi muallif bansi, manba

Uning ovozidan, bu hal qilinmoqda, lekin men sizni ba'zi kontekstni berishi mumkin deb o'yladim.

406 Xato serverlar ma'lum talablarga javob beradigan yoki muayyan talablarga javob bermaydigan so'rovlarni rad etish uchun konfiguratsiya qilinganida yuz beradi.

Sizning hosting provayderingiz ehtimol mod_security qoidalari bilan chambarchas bog'liq edi va sizning shaklingiz apache dan noqonuniy rad etishni boshladi.

mod_security qoidalari ko'pincha ixchamlangan va murakkab bo'lishi mumkin, chunki ular odatda bitta yo'nalishda konfiguratsiya qilinadi.

Agar xavfsizlik siz uchun tashvish tug'dirsa, agar siz ular uchun mod_security saytini o'chirib qo'ysa yoki faqat uni qayta sozlagan bo'lsangiz, ular bilan xostingizni tekshirish mumkin.

Mod_security saytida faqat <? PHP phpinfo ()?> o'z ichiga olgan saytga phpinfo.php deb nomlangan faylni yuklash orqali faolligini tekshirishingiz mumkin.

Sahifani brauzerda joylashtiring va keyin mod_security ni qidiring. U erda bo'lsa, ular mod_security konfiguratsiyasini o'rnatdilar.

Agar yo'q bo'lsa, ular faqat sizning saytdan olib tashlangan.

Xursand bo'ldim.

0
qo'shib qo'ydi

I found that this error comes because you are trying to insert '±' this kind of values. If you remove this character and submit the form, your form will be submitted successfully. So the solution is you should use the ± instead of '±' this sign or you should use html symbol codes then only your information save into database.

0
qo'shib qo'ydi
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin