gaiget raime ? :)
Diax: 87%
Ara: 12%
გამოკითხულია: 8
გზავნილი
17. Bing (Off)
[ 27 Oct 2013, 17:00 ]
ციტატა: chino martali xar, :) mqonda saiti chemit dawerili,da koders shevamowmebine da ver gatexa
[Pasuxi][Cit]|
18. chino (Off)
[ 27 Oct 2013, 17:03 ]
ციტატა: NEO
კარგი დავწერ მე როგორ ვაკეთებ. თუ რამეს არასწორად ვაკეთებ გთხოვთ შემოსწოროთ :)
მაგალითად მაქვს GET მიმართვა saiti.ge/view.php?id=1
თუ ზუსტად ვიცით და გვინდა რომ ეს id იყოს რიცხვი ანუ ინტეჯერი ვფილტრავთ ასე

$id = abs(intval($_GET['id']));

აქ abs(); გვაძლევს ყოველთვის დადებით რიცხვს ხოლო intval();_ს გადაყავს string რიცხვში.

თუ მომხმარებლისგან ვიღებთ ინფორმაციას (ავსებს მაგალითად სარეგისტრაციო ველებს) string ტიპის გავატაროთ ის htmlentites(); ან ანალოგიურ ფუნქციით htmlspecialchars();

მაგ:

$name = htmlentites($_POST['name']);
ან
$name = htmlentites($_POST['name'],ENT_QUOTES);
სადაც მეორე პარამეტრია გარდაქმნას ერთმაგი ბრჩყალებიც
აი მანუალიდან ამოვიღებ მაგალითს:
"'" (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES.

თუ მონაცემები შეგვაქვს მონაცემთა ბაზაში უნდა გავფილტროთ mysql_real_escape_string();_ით

მაგ:
$name = mysql_real_escape_string(htmlentites($_POST['name']));

ასევე ხშირია შემთხვევა რომ მომხარებელი რეგისტრაციისას ნიკის ველში ჩაწერს chino და ერთხელ შემთხვევით დაარტყავს პრობელს. ვითომ არაფერი მაგრამ ის პრობელიც სიმბოლოა და ავტორიზაციისას რო დაწერს ნიკი: chino ის ვერ შევა სისტემაში, ამიტომაც უნდა გავფილტროთ ცვლადი trim(); ფუნქციით :)
მაგ:

$name = htmlentites(trim($_POST['name']));

ასევე რეკომენდირებულია htmlentites(); ან htmlpecialchars();_ში გავატაროთ ის ცვლადები რომლებიც ეკრანზე გამოგვაქვს :)

პ.ს როგორც რუსები იტყვიან ხოლმე "Лишней проверки не бывает"

სამართლიანი შენიშვნები და შესწორებები არ დაიშუროთ :)
[Pasuxi][Cit]|
19. NEO (Off)
[ 27 Oct 2013, 17:18 ]
[u
[Pasuxi][Cit]|
__________
bolo redaqtireba 01 Mar 2020, 22:58; sul 1 -jer
20. NEO (Off)
[ 27 Oct 2013, 17:21 ]
ციტატა: chino
და კიდევ, mysql_query დან გაფილტვრა აღარაა საჭირო php_ის ახალ ვერსიებში.
უფრო სწორედ mysql_query იცვლება :)
[Pasuxi][Cit]|
21. chino (Off)
[ 27 Oct 2013, 17:32 ]
ციტატა: NEO
$name = mysql_real_escape_string(htmlentites(trim($_POST['name'])));
$pass = mysql_real_escape_string(htmlentites(trim($_POST['pass'])));

მაგრამ პაროლში ერთი ნუანსია დაშვებული სიმბოლოები თუ გინდა მაგალითად a-z 0-9 და ა.შ უნდა რეგულალური გამოსახულება დაწერო.

INSERT INTO table_name (name,password)
VALUES ($name,$pass);
[Pasuxi][Cit]|
22. chino (Off)
[ 27 Oct 2013, 17:34 ]
ციტატა: NEO საერთოდ მალე ასეთი სქლ ბრძანებების ამოღებას აპირებენ ხმარებიდან და ახლავე გვირჩევენ გადავიდეთ ოოპ სტილზე
[Pasuxi][Cit]|
23. Skidrow (Off)
[ 28 Oct 2013, 10:09 ]
da shedtsdomis dapharva gamosavalia ? Rodesats injection s vaketheb da display ze sitsarieles vkhedav magas ragha mikhvedra unda :) abs mathematikurad absoluturi value )
[Pasuxi][Cit]|
24. virus-extra
[ 28 Oct 2013, 12:47 ]
ციტატა: Skidrow vapaseb shen shromas,im shromas romlitac daakopire da targmne es statia,sasurvelia sapudzveli chauyaro da jer axsna tu ra aris sql ineqciebi ratom xdeba eg da uketesi iqneba rom auxsna tu rogor akrdzalon es taviant saitebze da daayenon filtracia,kopirebit da targmnit xalxs upro daabnev chemi azrit vidre aswavli,antichatis statiebi aq cota ar iyos rtuli gasarchevia ;)
[Pasuxi][Cit]|

<<wina. | shemdegi>>
1,2,3,4

პასუხი თემაზე
მთავარ გვერდზე
Save .txt

პლიუსი თემას