הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 04-12-07, 17:16   # 1
Kfir.G
חבר וותיק
 
Kfir.G's Avatar
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,059
שלח הודעה באמצעות ICO אל Kfir.G

Kfir.G לא מחובר  

[PHP] טיפול קלט

עריכה:
הנושא היה אמור להיות טיפול בקלט :P
שלום,
יש לי תופס שבו המשתמש שולח מידע ואני מעביר אותו ככה
PHP קוד:
$content$_POST['msg'];
$contenthtml_entity_decode($content);
$tags    "<p><h1><font><ol><ul><li><hr>"
        
."<blockquote><a><img><embed><strong>"
        
."<em><u><strike><sup><sub>";
$contentstrip_tags($content,$tags); 
ובכל זאת משתמשים מצליחים להחדיר תגים שהstrip_tags אמור להוריד... מה עושים?
תודה מראש
כפיר
__________________
פיג'מה
משחקים

Last edited by Kfir.G; 04-12-07 at 17:20..
  Reply With Quote
ישן 04-12-07, 17:29   # 2
Meir
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
גיל: 34
הודעות: 383

Meir לא מחובר  

התיאור פה מתאים לבעיה שלך אני חושב: http://marc.info/?l=bugtraq&m=108981589117423.
  Reply With Quote
ישן 04-12-07, 17:47   # 3
DanielS
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
מיקום: ישראל
הודעות: 2,429

DanielS לא מחובר  

שוב טעות נפוצה במקום לאפשר הכל ולחסום חלק.
תחסום הכל ותאפשר חלק.
או אם אתה רוצה לחסום את כל הHTML תשתמש בhtmlspecialchars()
__________________
Daniel
Email : daniel [AT] smartwd [DOT] com

  Reply With Quote
ישן 04-12-07, 17:47   # 4
Kfir.G
חבר וותיק
 
Kfir.G's Avatar
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,059
שלח הודעה באמצעות ICO אל Kfir.G

Kfir.G לא מחובר  

ציטוט:
נכתב במקור על ידי Meir צפה בהודעה
התיאור פה מתאים לבעיה שלך אני חושב: http://marc.info/?l=bugtraq&m=108981589117423.
יכול להיות שככה משתמשים מצליחים לעקוף את זה ויכול להיות שלא...
בכל מקרה לא ממש הצלחתי למצוא את הפתרון עצמו לבעיה בעמוד הזה... ממה שהבנתי זאת
http://security.e-matters.de/gpg_key.asc
אמורה להיות הצפנה של הפתרון אבל לא ממש הבנתי איך לבטל את ההצפנה...
בכל מקרה תודה על העזרה ואני אשמח לשמוע הצעות נוספות לפתרון

ציטוט:
נכתב במקור על ידי DanielS צפה בהודעה
שוב טעות נפוצה במקום לאפשר הכל ולחסום חלק.
תחסום הכל ותאפשר חלק.
או אם אתה רוצה לחסום את כל הHTML תשתמש בhtmlspecialchars()
במקרה שלא שמת לב אני חסמתי הכל ואפשרתי חלק... רשימת התגים בTAGS אלו הם התגים המותרים! לשימוש כל השאר אסורים...
__________________
פיג'מה
משחקים
  Reply With Quote
ישן 04-12-07, 18:12   # 5
Meir
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
גיל: 34
הודעות: 383

Meir לא מחובר  

תנסה את זה:

PHP קוד:
<?php
$string 
'test tag <script> and <p>';

function 
check_tag($tag) {
    if (
in_array(str_replace('/'''$tag), array('p''b''hr''a'))) {
        return 
'<'.$tag.'>';
    }
    return 
false;
}

echo 
preg_replace('/<(.*?)>/ie''check_tag("\\1")'$string);
?>
  Reply With Quote
ישן 04-12-07, 18:57   # 6
Kfir.G
חבר וותיק
 
Kfir.G's Avatar
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,059
שלח הודעה באמצעות ICO אל Kfir.G

Kfir.G לא מחובר  

ציטוט:
נכתב במקור על ידי Meir צפה בהודעה
תנסה את זה:

PHP קוד:
<?php
$string 
'test tag <script> and <p>';

function 
check_tag($tag) {
    if (
in_array(str_replace('/'''$tag), array('p''b''hr''a'))) {
        return 
'<'.$tag.'>';
    }
    return 
false;
}

echo 
preg_replace('/<(.*?)>/ie''check_tag("\\1")'$string);
?>
לא עובד לי...
ד"א מה בדיוק עושה \\1?
__________________
פיג'מה
משחקים
  Reply With Quote
ישן 04-12-07, 19:13   # 7
Meir
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
גיל: 34
הודעות: 383

Meir לא מחובר  

מעביר את התוצאה מהביטוי הרגולרי לפונקציה, שים לב שהפונקציה מאפשרת רק את התגים שנמצאים במערך בתוך הפונקציה delete כלומר רק את: p, b, hr וa.

ותוסיף את התיקון הבא:

PHP קוד:
str_replace(array('/'' '), ''$tag
כי יש תגים שנוהגים להכניס בהם רווח כמו hr.
  Reply With Quote
ישן 04-12-07, 20:32   # 8
Kfir.G
חבר וותיק
 
Kfir.G's Avatar
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,059
שלח הודעה באמצעות ICO אל Kfir.G

Kfir.G לא מחובר  

ציטוט:
נכתב במקור על ידי Meir צפה בהודעה
מעביר את התוצאה מהביטוי הרגולרי לפונקציה, שים לב שהפונקציה מאפשרת רק את התגים שנמצאים במערך בתוך הפונקציה delete כלומר רק את: p, b, hr וa.

ותוסיף את התיקון הבא:

PHP קוד:
str_replace(array('/'' '), ''$tag
כי יש תגים שנוהגים להכניס בהם רווח כמו hr.
בכל מקרה הפונקציה שלך מורידה את הכל חוץ מ <שם התג> וזה לא מה שאני צריך... אני צריך שאם זה תג מאושר הכל ישאר...
__________________
פיג'מה
משחקים
  Reply With Quote
ישן 04-12-07, 21:12   # 9
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

ברגע שאתה מאפשר תג אחד-הכל פרוץ. תשתמש ב-htmlspecialchars.
  Reply With Quote
ישן 04-12-07, 21:28   # 10
Meir
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
גיל: 34
הודעות: 383

Meir לא מחובר  

ציטוט:
נכתב במקור על ידי kfir_dnd צפה בהודעה
בכל מקרה הפונקציה שלך מורידה את הכל חוץ מ <שם התג> וזה לא מה שאני צריך... אני צריך שאם זה תג מאושר הכל ישאר...
http://lives.co.il/kfir.php
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 23:31.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ