日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何解決數(shù)據(jù)庫字符串緩沖區(qū)太小問題?(數(shù)據(jù)庫字符串緩沖區(qū)太小)

在數(shù)據(jù)庫開發(fā)中,字符串緩沖區(qū)大小是一個常見問題,它可能導(dǎo)致數(shù)據(jù)被截斷,或者查詢操作失敗。本文將介紹一些解決方法,幫助開發(fā)者避免該問題。

市北ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

1. 檢查數(shù)據(jù)庫配置

我們要檢查數(shù)據(jù)庫配置中是否存在字符串緩沖區(qū)大小的配置項。不同數(shù)據(jù)庫可能存在不同的配置項,例如 MySQL 中的 max_allowed_packet,Oracle 中的 sqlnet.inbound_connect_timeout。如果該配置項存在,則可以適當(dāng)?shù)卦黾泳彌_區(qū)大小。

2. 增加緩沖區(qū)大小

如果數(shù)據(jù)庫配置中不存在字符串緩沖區(qū)大小的配置項,我們可以嘗試手動增加緩沖區(qū)大小。在 MySQL 中,可以使用 SET GLOBAL max_allowed_packet=xxx; 命令來增加緩沖區(qū)大小,其中 xxx 為緩沖區(qū)大小的數(shù)值(單位為字節(jié))。

在 Oracle 中,可以使用 ALTER SYSTEM SET sqlnet.inbound_connect_timeout=yyy; 命令來增加緩沖區(qū)大小,其中 yyy 為緩沖區(qū)大小的數(shù)值(單位為字節(jié))。

值得注意的是,增加緩沖區(qū)大小可能會導(dǎo)致性能下降,因此應(yīng)該謹(jǐn)慎使用。

3. 使用流式查詢

如果查詢結(jié)果中的某個字段超出緩沖區(qū)大小,我們可以使用流式查詢來避免該問題。流式查詢會將查詢結(jié)果分批次返回,而不是一次性返回所有結(jié)果。

在 MySQL 中,我們可以在查詢語句中加上”SELECT SQL_CALC_FOUND_ROWS … LIMIT …”語句,這樣查詢結(jié)果會被分成多個批次返回。

在 Oracle 中,我們可以使用游標(biāo)(CURSOR)來實現(xiàn)流式查詢。在查詢語句中,可以使用 FOR UPDATE OF 語句創(chuàng)建游標(biāo),然后使用 FETCH NEXT 和 CLOSE 語句來獲取數(shù)據(jù)。

4. 使用二進(jìn)制大對象(BLOB)

如果需要存儲較大的字符串,我們可以考慮使用二進(jìn)制大對象(BLOB)來代替字符串類型。BLOB 類型可以存儲任意二進(jìn)制數(shù)據(jù),包括圖片、音頻等非文本數(shù)據(jù)。

在 MySQL 中,可以使用 LONGBLOB 數(shù)據(jù)類型來存儲 BLOB 類型數(shù)據(jù);在 Oracle 中,可以使用 BLOB 或 CLOB 數(shù)據(jù)類型來存儲 BLOB 類型數(shù)據(jù)。

5. 使用文本大對象(CLOB)

如果需要存儲較大的文本數(shù)據(jù),我們可以考慮使用文本大對象(CLOB)來代替字符串類型。CLOB 類型可以存儲任意文本數(shù)據(jù),包括長文本、XML 等。

在 MySQL 中,可以使用 LONGTEXT 數(shù)據(jù)類型來存儲 CLOB 類型數(shù)據(jù);在 Oracle 中,可以使用 BLOB 或 CLOB 數(shù)據(jù)類型來存儲 CLOB 類型數(shù)據(jù)。

在日常開發(fā)中,數(shù)據(jù)庫字符串緩沖區(qū)太小問題是一個比較常見的問題。本文介紹了一些解決方法,包括檢查數(shù)據(jù)庫配置、增加緩沖區(qū)大小、使用流式查詢、使用二進(jìn)制大對象和文本大對象等。開發(fā)者可以根據(jù)具體情況選擇合適的解決方法。同時,我們也需要意識到,增加緩沖區(qū)大小可能會導(dǎo)致性能下降,因此應(yīng)該謹(jǐn)慎使用。

相關(guān)問題拓展閱讀:

  • 錯誤691?
  • 緩沖區(qū)溢出攻擊的基本原理是什么?

錯誤691?

提示錯誤691真正意義上來講可能是以下原因:

1:域名出現(xiàn)錯誤,(用戶名或密碼輸入錯誤);

2:或?qū)拵У狡谇焚M造成;

3: 服務(wù)器無反映,(機(jī)房用戶端口錯誤,或帳號未被激活);

4:硬件故障。

5G+1000M寬帶任性用,智能雙千兆,定制美好生活,詳情可登錄廣西電信網(wǎng)上營業(yè)廳查看??头?07號為你解答。

寬帶691錯誤:

  1、欠費

  出現(xiàn)691錯誤的時候我基本上會首先考慮這個問題,因為這個原因最常見,也最容易解決。只需要查詢一下自己的賬號是否欠費,如果欠費充值后就可以連接上,如果不是欠費考慮其他原因。

  2、用戶名或者密碼錯誤

  這個不是很常見,如果是撥號上網(wǎng)基本上都會選擇保存密碼,但是也有可能被其他人動了一下,所以重新輸入賬號和密碼試一下,如果不能解決要考慮其他原因。

  3、MAC地址錯誤

  這個不常見,經(jīng)常是電腦上裝了兩個網(wǎng)卡才會出現(xiàn),禁用一個就可以了。

  4、賬號被盜

  這個其實是用戶密碼錯誤的小分類,之所以把他列出來是如果你確信自己的用戶名和密碼沒有錯誤,有可能別人重設(shè)了密碼,所以你要打到網(wǎng)絡(luò)運(yùn)營商那里重置密碼。

  出現(xiàn)錯誤691的解決方法:

  1、故障時一定要仔細(xì)判斷,帳號密碼的大小寫、帳號前后的空格,很難分辨出來。所以當(dāng)出現(xiàn)691錯誤時,可以嘗試把原來的帳號和密碼刪掉,重新輸入正確帳號及密碼。

  2、帳號欠費:ADSL寬帶用戶欠費后,寬帶接入服務(wù)商會將該帳號暫時停用,用戶交清欠費后,帳號不一定會馬上啟用,這時如果撥號,也會出現(xiàn)錯誤691的提示。

  3、寬帶服務(wù)商限制了你帳戶使用數(shù)目,如果別人正在使用你的帳號,你撥號就是錯誤691,請檢查同時使用此帳號的人數(shù)。

  4、一個帳號更好只在你申請的端口上使用,如果被帶到其他的端口上,可能會提示錯誤691。

  5、由于某種原因,帳號不正常掉線,例如:電腦突然斷電。服務(wù)器那邊還沒斷開,你的用戶還在登錄狀態(tài),和上面情況類似,所以錯誤691。這種情況你只需將電腦、Model調(diào)制解調(diào)器重啟,過5—10分鐘分重試一般就會好。

  6、電腦禁用網(wǎng)卡后或網(wǎng)卡未正常驅(qū)動也會出現(xiàn)691的提示,檢查網(wǎng)卡是否正常工作。

  7、用戶數(shù)據(jù)綁定錯誤:為了更好的服務(wù)于用戶,保障用戶帳號的安全,寬帶服務(wù)商將寬帶帳號和用戶的物理端口做了綁定,數(shù)量上也做了一對一的綁定,這樣,該帳號只能在一個物理端口上使用(即限制了ADSL帳號的漫游),而且一個端口只限一臺電腦上網(wǎng),如果用戶的數(shù)據(jù)綁定錯誤,撥號時也會出現(xiàn)錯誤691的提 示。

  8、當(dāng)電腦上安裝了兩塊本地網(wǎng)卡并且同時啟用時。導(dǎo)致MAC地址綁定錯誤,出現(xiàn)691錯誤代碼,建議禁用其中一塊網(wǎng)卡。

了解更多服務(wù)優(yōu)惠請關(guān)注“安徽電信”公眾號。

如您的聯(lián)通寬帶上網(wǎng)顯示“錯誤691”是由于帳號密碼輸入錯誤或欠費,處理方法如下:

1.如有路由器,先斷電重啟,若仍不能使用,請去掉路由器進(jìn)行下面操作檢測;

2.請先確認(rèn)寬帶是否欠費或到期,如有捆綁手機(jī),請確認(rèn)手機(jī)是否欠費、停機(jī)、暫停、拆機(jī),如有以上情況請續(xù)費或繳清欠費后再試;

3.請嘗試重新輸入寬帶用戶名、密碼,或重建寬帶連接。

如仍無改善,請撥打人工客服熱線,根據(jù)語音提示,選擇故障自助申告專用通道向聯(lián)通公司申告,有專人聯(lián)系您處理。

739

遠(yuǎn)程服務(wù)器無法使用由 Windows NT 加密的密碼。

撥號連接或 VPN 連接的錯誤代碼列表

600

某操作處于掛起狀態(tài)。

601

端口句柄無效。

602

端口已打開。

603

呼叫方緩沖區(qū)太小。

604

指定了錯誤的信息。

605

無法設(shè)置端口信息。

606

無法連接端口。

607

事件無效。

608

設(shè)備不存在。

609

設(shè)備類型不存在。

610

緩沖區(qū)無效。

611

路由不可用。

612

沒有分配路由。

613

指定了無效的壓縮。

614

緩沖區(qū)溢出。

615

找不到端口。

616

某異步請求處于掛起狀態(tài)。

617

端口或設(shè)備已斷開連接。

618

端口尚未打開。

619

端口已斷開連接。

620

沒有終結(jié)點。

621

無法打開簿文件。

622

無法加載簿文件。

623

找不到簿條目。

624

無法寫入簿文件。

625

在簿中發(fā)現(xiàn)無效信息。

626

無法加載字符串。

627

找不到密鑰。

628

端口已斷開連接。

629

端口已由遠(yuǎn)程機(jī)器斷開連接。

630

端口由于硬件故障已斷開連接。

631

端口已由用戶斷開連接。

632

結(jié)構(gòu)大小不正確。

633

端口已被使用或不是為遠(yuǎn)程訪問撥出配置的。

634

無法在遠(yuǎn)程網(wǎng)絡(luò)上注冊您的計算機(jī)。

635

未知錯誤。

636

端口連接了錯誤的設(shè)備。

637

無法轉(zhuǎn)換字符串。

638

請求已超時。

639

沒有可用的異步網(wǎng)絡(luò)。

640

出現(xiàn) NetBIOS 錯誤。

641

服務(wù)器無法分配需要用來支持客戶端的 NetBIOS 資源。

642

您的一個 NetBIOS 名稱已在遠(yuǎn)程網(wǎng)絡(luò)上注冊。

643

服務(wù)器上的網(wǎng)卡失敗。

644

您將無法接收彈出的網(wǎng)絡(luò)信息。

645

內(nèi)部身份驗證錯誤。

646

不允許本帳戶在此時間登錄。

647

帳戶已禁用。

648

密碼已過期。

649

帳戶沒有遠(yuǎn)程訪問權(quán)限。

650

遠(yuǎn)程訪問服務(wù)器沒有響應(yīng)。

651

您的調(diào)制解調(diào)器(或其它連接設(shè)備)報告了一個錯誤。

652

無法識別來自該設(shè)備的響應(yīng)。

653

在設(shè)備 .INF 文件段中找不到設(shè)備所需的宏。

654

在設(shè)備 .INF 文件段中的命令或響應(yīng)引用了未定義的宏

655

在設(shè)備 .INF 文件段中找不到 宏。

656

在設(shè)備 .INF 文件段的 宏中包含未定義的宏

657

無法打開設(shè)備 .INF 文件。

658

設(shè)備 .INF 或媒體 .INI 文件中的設(shè)備名太長。

659

媒體 .INI 文件引用了未知設(shè)備名。

660

設(shè)備 .INF 文件中不包含任何命令的響應(yīng)。

661

設(shè)備 .INF 文件中缺少一個命令。

662

試圖設(shè)置設(shè)備 .INF 文件段中未列出的宏。

663

媒體 .INI 文件引用了未知設(shè)備類型。

664

無法分配內(nèi)存。

665

端口不是為遠(yuǎn)程訪問配置的。

666

您的調(diào)制解調(diào)器(或其它連接設(shè)備)不起作用。

667

無法讀取媒體 .INI 文件。

668

連接已斷開。

669

媒體 .INI 文件中的參數(shù)用法無效。

670

無法從媒體 .INI 文件中讀取段名。

671

無法從媒體 .INI 文件中讀取設(shè)備類型。

672

無法從媒體 .INI 文件中讀取設(shè)備名。

673

無法從媒體 .INI 文件中讀取用法。

674

無法從媒體 .INI 文件中讀取更大連接 BPS 頻率。

675

無法從媒體 .INI 文件中讀取更載 BPS 頻率。

676

線路忙。

677

是某人而不是調(diào)制解調(diào)器應(yīng)答。

678

沒有應(yīng)答。

679

無法檢測載波。

680

沒有撥號音。

681

設(shè)備報告了常見錯誤。

682

寫入 SECTIONNAME 時出錯

683

寫入 DEVICETYPE 時出錯

684

寫入 DEVICENAME 時出錯

685

寫入 MAXCONNECTBPS 時出錯

686

寫入 MAXCARRIERBPS 時出錯

687

寫入用法時出錯

688

寫入 DEFAULTOFF 時出錯

689

讀取 DEFAULTOFF 時出錯

690

清空 INI 文件時出錯

691

由于域上的用戶名和/或密碼無效而拒絕訪問。

692

端口或連接的設(shè)備硬件故障。

693

錯誤,不是二進(jìn)制宏

694

錯誤,找不到 DCB

695

錯誤,狀態(tài)機(jī)器沒有開始

696

錯誤,狀態(tài)機(jī)器已經(jīng)開始

697

錯誤,響應(yīng)環(huán)不完整

698

設(shè)備 .INF 文件中的響應(yīng)鍵名不符合所需格式。

699

設(shè)備響應(yīng)導(dǎo)致緩沖區(qū)溢出。

700

設(shè)備 .INF 文件中的擴(kuò)展命令太長。

701

設(shè)備采用了 COM 驅(qū)動程序不支持的 BPS 頻率。

702

意外地收到了設(shè)備響應(yīng)。

703

錯誤的交互模式

704

錯誤,回?fù)芴柎a不對

705

錯誤,無效的身份驗證狀態(tài)

706

寫入 INITBPS 時出錯

707

X.25 診斷指示。

708

帳戶已過期。

709

在域上更改密碼時出錯。

710

與您的調(diào)制解調(diào)器通信時檢測到序列溢出錯誤。

711

RasMan 初始化失敗。檢查事件日志。

712

雙向傳輸端口正在初始化。請等待幾秒鐘再重?fù)芴枴?/p>

713

沒有活動的 ISDN 線路可用。

714

沒有足夠的 ISDN 通道可用于實現(xiàn)此調(diào)用。

715

線質(zhì)量太差,發(fā)生太多錯誤。

716

遠(yuǎn)程訪問 IP 配置無法使用。

717

靜態(tài)遠(yuǎn)程訪問 IP 地址池中無可用的 IP 地址。

718

PPP 超時。

719

PPP 已由遠(yuǎn)程機(jī)器終止。

720

未配置 PPP 控制協(xié)議。

721

遠(yuǎn)程 PPP 對等機(jī)不響應(yīng)。

722

PPP 數(shù)據(jù)包無效。

723

包括前綴和后綴的號碼太長。

724

IPX 協(xié)議無法在此端口撥出,因為此計算機(jī)是 IPX 路由器。

725

IPX 協(xié)議無法在此端口撥入,因為未安裝 IPX 路由器。

726

IPX 協(xié)議不能同時在一個以上的端口上用于撥出。

727

無法訪問 TCPCFG.DLL。

728

找不到與遠(yuǎn)程訪問綁定的 IP 適配器。

729

除非安裝 IP 協(xié)議,否則無法使用 SLIP。730

計算機(jī)注冊未完成。

731

沒有配置協(xié)議。

732

PPP 協(xié)商尚未聚合。

733

針對此網(wǎng)絡(luò)協(xié)議的 PPP 控制協(xié)議在此服務(wù)器上不可用。

734

PPP 鏈接控制協(xié)議已終止。

735

服務(wù)器拒絕接受請求地址。

736

遠(yuǎn)程計算機(jī)終止了控制協(xié)議。

737

檢測到環(huán)回。

738

服務(wù)器沒有指派地址。

739

遠(yuǎn)程服務(wù)器無法使用由 Windows NT 加密的密碼。

740

為遠(yuǎn)程訪問配置的 TAPI 設(shè)備未能初始化,或未得到正確的安裝。

741

本地計算機(jī)不支持加密。

742

遠(yuǎn)程服務(wù)器不支持加密。

743

遠(yuǎn)程服務(wù)器要求加密。

744

無法使用由遠(yuǎn)程服務(wù)器指派(原為分配)的 IPX 網(wǎng)絡(luò)號。檢查事件日志。

745

ERROR_INVALID_M

746

ERROR_M_UNINITIALIZED

747

ERROR_NO_MAC_FOR_PORT

748

ERROR_M_TIMEOUT

749

ERROR_BAD_PHONE_NUMBER

750

ERROR_WRONG_MODULE

751

回?fù)芴柎a包含一個無效字符。號碼中只允許有下列 18 個字符:0 到 9、T、P、W、(、)、-、@ 和空格

752

執(zhí)行腳本時遇到語法錯誤。

753

無法中斷連接,因為它是由多協(xié)議路由器創(chuàng)建的。

754

系統(tǒng)無法找到多重鏈接綁定。

755

因為這個項目已有一個自定義的撥號程序,因此系統(tǒng)不能做自動撥號。

756

已經(jīng)撥了這個連接。

757

無法自動開始遠(yuǎn)程訪問服務(wù)。詳細(xì)情況請檢查事件日志。

758

Internet 連接共享已經(jīng)在連接上啟用。

759

在更改現(xiàn)存的 Internet 連接共享設(shè)置時,出現(xiàn)了一個錯誤。

760

路由能力被啟用時,出現(xiàn)了一個錯誤。

761

為連接啟用 Internet 連接共享時,出現(xiàn)了一個錯誤。

762

為共享配置局域網(wǎng)時,出現(xiàn)了一個錯誤。

763

無法啟用 Internet 連接共享。除了共享的連接外,還有一個以上 LAN 連接。

764

沒有安裝智能卡讀取器。

765

無法啟用 Internet 連接共享。一個已經(jīng)用 IP 地址配置的 LAN 連接需要自動 IP 地址。

766

找不到證書。使用通過 IPSec 的 L2TP 協(xié)議的連接要求安裝一個機(jī)器證書,它也叫作計算機(jī)證書。

767

無法啟用 Internet 連接共享。所選的作為專用網(wǎng)絡(luò)的 LAN 連接有不止一個配置的 IP 地址。在啟用 Internet 連接共享之前,請用一個單一的 IP 地址重新配置 LAN 連接。

768

因為加密數(shù)據(jù)失敗連接嘗試失敗。

769

無法連接到指定目標(biāo)。

770

遠(yuǎn)程計算機(jī)拒絕連接嘗試。

771

由于網(wǎng)絡(luò)忙連接嘗試失敗。

772

遠(yuǎn)程計算機(jī)的網(wǎng)絡(luò)硬件與呼叫請求的種類不兼容。

773

由于目的號碼更改,連接嘗試失敗。

774

由于臨時失敗,連接嘗試失敗。請重新連接。

775

遠(yuǎn)程計算機(jī)的呼叫被阻。

776

由于遠(yuǎn)程計算機(jī)啟用了“不要打擾”功能,調(diào)用不能連接。

777

由于遠(yuǎn)程計算機(jī)上的調(diào)制解調(diào)器(或其它連接設(shè)備)出現(xiàn)故障,連接嘗試失敗。

778

不能驗證服務(wù)器的身份。

779

如果用這個連接撥出,您必須使用智能卡。

780

嘗試的功能在這個連接上無效。

781

連接需要證書,但是沒有找到有效的證書。需要更多協(xié)助,請單擊“詳細(xì)信息”,或在幫助和支持中心查找此錯誤號。

782

不能啟用 Internet 連接共享(ICS)和 Internet 連接防火墻(ICF),因為已在此計算機(jī)上啟用了路由和遠(yuǎn)程訪問。要啟用 ICS 或 ICF,首先要禁用路由和遠(yuǎn)程訪問。有關(guān)路由和遠(yuǎn)程訪問,ICS 或 ICF 的更多信息,請參閱幫助和支持。

783

無法啟用 Internet 連接共享。選擇的作為專用網(wǎng)絡(luò)的 LAN 連接不存在,或者沒有與網(wǎng)絡(luò)連接。請在啟用 Internet 連接共享之前確認(rèn) LAN 網(wǎng)卡已連接。

784

您在登錄時不能用此連接撥號,因為它被配置為使用一個與智能卡上的名稱不同的用戶名。如果您想在登錄時使用它,必須將其配置為使用智能卡上的用戶名。

785

您在登錄時不能用此連接撥號,因為它沒有配置為使用智能卡。如果您想在登錄時使用它,必須編輯此連接的屬性使其使用智能卡。

786

L2TP 連接嘗試失敗,因為在您的計算機(jī)上沒有有效的機(jī)器證書以進(jìn)行安全身份驗證。

787

L2TP 連接嘗試失敗,因為安全層不能身份驗證遠(yuǎn)程計算機(jī)。

788

L2TP 連接嘗試失敗,因為安全層不能與遠(yuǎn)程計算機(jī)協(xié)商兼容的參數(shù)。

789

L2TP 連接嘗試失敗,因為安全層在初始化與遠(yuǎn)程計算機(jī)的協(xié)商時遇到一個處理錯誤。

790

L2TP 連接嘗試失敗,因為在遠(yuǎn)程計算機(jī)上的證書確認(rèn)失敗。

791

L2TP 連接嘗試失敗,因為沒有找到此連接的安全策略。

792

L2TP 連接嘗試失敗,因為安全協(xié)商超時。

793

L2TP 連接嘗試失敗,因為在協(xié)商安全時發(fā)生一個錯誤。

794

此用戶的幀協(xié)議 RADIUS 屬性不是 PPP。

795

此用戶的隧道類型 RADIUS 屬性不正確。

796

此用戶的服務(wù)類型 RADIUS 屬性既不是幀也不是回?fù)軒?/p>

797

不能建立到遠(yuǎn)程計算機(jī)的連接,因為沒有找到調(diào)制解調(diào)器,或者調(diào)制解調(diào)器忙。需要更多協(xié)助,請單擊“詳細(xì)信息”,或在幫助和支持中心查找此錯誤號。

798

沒有找到一個可以用于可擴(kuò)展的身份驗證協(xié)議的證書。

799

由于網(wǎng)絡(luò)上發(fā)生 IP 地址沖突,因此不能啟用 Internet 連接共享訪問 (ICS)。ICS 要求主機(jī)被配置為用 192.168.0.1。請確認(rèn)網(wǎng)絡(luò)上沒有其它客戶端被配置為用 192.168.0.1。

800

不能建立 VPN 連接。VPN 服務(wù)器可能不能到達(dá),或者此連接的安全參數(shù)沒有正確配置。

801

此連接被配置成驗證訪問服務(wù)器的身份,但是 Windows 不能證實服務(wù)器發(fā)送的數(shù)字證書。

802

無法識別所提供的卡。請檢查卡是否正確插入,是否插接緊密。

803

保存在會話 cookie 中的 PEAP 配置和當(dāng)前的會話配置不匹配。

804

保存在會話 cookie 中的 PEAP 標(biāo)識和當(dāng)前標(biāo)識不匹配。

805

您不能在登錄時使用此連接撥號,因為它被配置成使用登錄后的用戶身份證。

900

路由器未運(yùn)行。

901

接口已連接。

902

路由器不認(rèn)得指定的協(xié)議標(biāo)識符。

903

請求撥號接口管理器未運(yùn)行。

904

此名稱的接口已經(jīng)與路由器一起注冊了。

905

此名稱的接口未與路由器一起注冊。

906

接口未連接。

907

指定的協(xié)議正停止。

908

接口已連接所以不能刪除。

909

接口憑據(jù)未設(shè)置。

910

此接口已經(jīng)在連接過程中。

911

已經(jīng)在進(jìn)行這個接口上的路由選擇信息更新。

912

接口配置無效。已有另一接口與遠(yuǎn)程路由器上的同一接口相連。

913

一個遠(yuǎn)程訪問客戶端試著通過只保留給路由器的端口進(jìn)行連接。

914

一個請求撥號路由器試著通過只保留給遠(yuǎn)程訪問客戶端的端口進(jìn)行連接。

915

具有此名稱的客戶端接口已經(jīng)存在,而且已連接。

916

接口處于停用狀態(tài)。

917

身份驗證協(xié)議被遠(yuǎn)程對等機(jī)拒絕。

918

沒有可用的身份驗證協(xié)議。

919

遠(yuǎn)程計算機(jī)拒絕使用配置好的身份驗證協(xié)議被進(jìn)行身份驗證。線路已斷開。

920

遠(yuǎn)程帳戶沒有遠(yuǎn)程訪問權(quán)限。

921

遠(yuǎn)程帳戶已過期。

922

遠(yuǎn)程帳戶已停用。

923

在一天中的這個時段中不允許遠(yuǎn)程帳戶登錄。

924

對遠(yuǎn)程對等機(jī)器的訪問被拒絕,因為在域上的用戶名和/或密碼不正確。

925

沒有路由選擇許可的端口可讓這個請求撥號接口使用。

926

端口已經(jīng)中斷連接,因為它處于非活動狀態(tài)。

927

此時無法到達(dá)接口。

928

請求撥號服務(wù)處于暫停狀態(tài)。

929

接口已經(jīng)被系統(tǒng)管理員切斷。

930

身份驗證服務(wù)器未及時響應(yīng)身份驗證請求。

931

已經(jīng)達(dá)到多重鏈接的連接可使用的最多端口數(shù)。

932

已經(jīng)達(dá)到用戶的連接時間限制。

933

已經(jīng)達(dá)到支持的 LAN 接口的更大數(shù)目。

934

已經(jīng)達(dá)到支持的請求撥號接口的更大數(shù)目。

935

已經(jīng)達(dá)到支持的遠(yuǎn)程訪問客戶端的更大數(shù)目。

936

由于 BAP 策略,端口已經(jīng)被斷開。

937

因為此類型的另一個連接正在使用,傳入的連接不能接受您的連接請求。

938

網(wǎng)絡(luò)上沒有找到 RADIUS 服務(wù)器。

939

從 RADIUS 身份驗證服務(wù)器收到一無效的響應(yīng)。請確保 RADIUS 服務(wù)器的區(qū)分大小寫的機(jī)密密碼設(shè)置正確。

940

此時您沒有連接的權(quán)限。

941

您沒有使用當(dāng)前設(shè)備類型連接的權(quán)限。

942

您沒有使用所選身份驗證協(xié)議連接的權(quán)限。

943

此用戶需要 BAP。

944

此時不允許接口連接。

945

保存的路由器配置與當(dāng)前路由器不兼容。

946

RemoteAccess 檢測到舊版的格式用戶帳戶不會被自動遷移。要手動遷移這些,運(yùn)行 XXXX。

948

傳輸已經(jīng)用路由器安裝。

949

從 RADIUS 服務(wù)器的數(shù)據(jù)庫里收到無效的簽字長度。

950

從 RADIUS 服務(wù)器的數(shù)據(jù)包里收到無效的簽字。

951

沒從 RADIUS 服務(wù)器跟 EAPMessage 一起收到簽字。

952

從 RADIUS 服務(wù)器收到帶有無效長度或 ID 的數(shù)據(jù)包。

953

從 RADIUS 服務(wù)器收到帶有無效長度的屬性的數(shù)據(jù)包。

954

從 RADIUS 服務(wù)器收到無效的數(shù)據(jù)包。

955

身份驗證器在來自 RADIUS 服務(wù)器的數(shù)據(jù)包里不相符。

總的說 可能是 突然斷電或關(guān)機(jī) 然后在聯(lián)網(wǎng) 就可能出現(xiàn)這種情況 等等就好 詳細(xì)往下看

寬帶adsl撥號上網(wǎng)用戶常常遇到的故障提示。寬帶adsl撥號上網(wǎng)使用pppoe協(xié)議連接,通過線傳輸數(shù)據(jù),使用adsl專用modem實現(xiàn)數(shù)據(jù)的調(diào)制解調(diào),提示錯誤691真正意義上來講: 1:域上名出現(xiàn)錯誤,(用戶名或密碼輸入錯誤)。 2:或?qū)拵У狡谇焚M造成。3: 服務(wù)器無反映,(機(jī)房用戶端口錯誤,或帳號未被激活)。 4:硬件故障

錯誤代碼691的故障主要有以下原因:

1、用戶數(shù)據(jù)綁定錯誤:為了更好的服務(wù)于用戶,,保障用戶帳號的安全,電信將寬帶帳號和用戶的物理端口做了綁定,數(shù)量上也做了一對一的邦定,這樣,該帳號只能在一個物理端口上使用(即限制了ADSL帳號的漫游),而且一個端口只限一臺電腦上網(wǎng),如果用戶的數(shù)據(jù)綁定錯誤,撥號時也會出現(xiàn)錯誤691的提示。

2、帳號被他人盜用:在寬帶帳號沒有綁定之前,ADSL用戶的帳號經(jīng)常會被他人盜用。一旦ADSL寬帶帳號被他人使用,再次撥號時,系統(tǒng)也會出現(xiàn)錯誤691的提示。

3、故障時一定要仔細(xì)判斷,尤其是帳號前與后的空格,很難分辨出來。所以當(dāng)出現(xiàn)691錯誤時,首先把原來的帳號和密碼刪掉,重新輸入正確帳號及密碼。

4、帳號欠費:ADSL寬帶用戶欠費后,寬帶接入服務(wù)商會將該帳號暫時停用,用戶交清欠費后,帳號不一定會馬上啟用,這時如果撥號,也會出現(xiàn)錯誤691的提示。

5、電腦硬件原因:當(dāng)電腦上安裝了兩塊網(wǎng)卡并且都啟用時。導(dǎo)致MAC地址邦定錯誤,出現(xiàn)691錯誤代碼,建議禁用其中一快網(wǎng)卡。

6、電腦禁用網(wǎng)卡后或網(wǎng)卡未驅(qū)動或驅(qū)動錯誤拔號也會出現(xiàn)691的提示,檢查網(wǎng)卡是否正常工作。

7、貓(model調(diào)制解調(diào)器)的設(shè)置問題,和運(yùn)營商聯(lián)系,一般這種問題運(yùn)營商免費包換。

8、有時在電腦突然斷電時,也會有此錯誤,在開機(jī)后,只需等待10分鐘后,就可能會自動解決。

9、使用VPN由于域上的用戶名/密碼無效而拒絕訪問。

以上是個人在維修電腦時的不完整的總結(jié)與經(jīng)驗,如未能幫你解決此問題,你可以聯(lián)系當(dāng)?shù)氐碾娦艑拵У倪\(yùn)營商,

寬帶線路業(yè)務(wù)電信有專業(yè)的維修人員來幫你解決。

錯誤原因:驗證失敗,可能是用戶名口令輸入錯誤,請檢查用戶名和口令的拼寫及大小寫及0與o,1與I等;檢查服務(wù)選項是否選擇正確,一般撥號使用互聯(lián)網(wǎng)、充值請選擇自服務(wù);也可能是由于上次聯(lián)接非正常斷線導(dǎo)致后臺系統(tǒng)沒有收到用戶下線信息而沒有在用戶在線表中將用戶刪除;也可能PPPOE廣播包被本廣播域內(nèi)的其它PPPOE SERVER截獲,反饋一錯誤消息。

緩沖區(qū)溢出攻擊的基本原理是什么?

緩沖區(qū)溢出攻擊是利用緩沖區(qū)溢出漏洞所進(jìn)行的攻擊行動。緩沖區(qū)溢出是一種非常普遍、非常危險的漏洞,在各種操作系統(tǒng)、應(yīng)用軟件中廣泛存在。利用緩沖區(qū)溢出攻擊,可以導(dǎo)致程序運(yùn)行失敗、系統(tǒng)關(guān)機(jī)、重新啟動等后果。

緩沖區(qū)溢出是指當(dāng)計算機(jī)向緩沖區(qū)內(nèi)填充數(shù)據(jù)位數(shù)時超過了緩沖區(qū)本身的容量,溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上。理想的情況是:程序會檢查數(shù)據(jù)長度,而且并不允許輸入超過緩沖區(qū)長度的字符。但是絕大多數(shù)程序都會假設(shè)數(shù)據(jù)長度總是與所分配的存儲空間相匹配,這就是為緩沖區(qū)溢出埋下隱患。操作系統(tǒng)所使用的緩沖區(qū),又被稱為堆棧,在各個操作進(jìn)程之間,指令會被臨時儲存在堆棧當(dāng)中,堆棧也會出現(xiàn)緩沖區(qū)溢出。

緩沖區(qū)溢出是一種非常普遍、非常危險的漏洞,在各種操作系統(tǒng)、應(yīng)用軟件中廣泛存在。利用緩沖區(qū)溢出攻擊,可以導(dǎo)致程序運(yùn)行失敗、系統(tǒng)當(dāng)機(jī)、重新啟動等后果。更為嚴(yán)重的是,可以利用它執(zhí)行非授權(quán)指令,甚至可以取得系統(tǒng)特權(quán),進(jìn)而進(jìn)行各種非法操作。緩沖區(qū)溢出攻擊有多種英文名稱:bufferoverflow,bufferoverrun,ashthestack,trashthestack,scribblethestack,manglethestack,memoryleak,overrunscrew;它們指的都是同一種攻擊手段。之一個緩沖區(qū)溢出攻擊–Morris蠕蟲,發(fā)生在十年前,它曾造成了全世界6000多臺網(wǎng)絡(luò)服務(wù)器癱瘓。

1.概念

緩沖區(qū)溢出是指當(dāng)計算機(jī)向緩沖區(qū)內(nèi)填充數(shù)據(jù)位數(shù)時超過了緩沖區(qū)本身的容量溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上,理想的情況是程序檢查數(shù)據(jù)長度并不允許輸入超過緩沖區(qū)長度的字符,但是絕大多數(shù)程序都會假設(shè)數(shù)據(jù)長度總是與所分配的儲存空間想匹配,這就為緩沖區(qū)溢出埋下隱患.操作系統(tǒng)所使用的緩沖區(qū)又被稱為”堆棧”.在各個操作進(jìn)程之間,指令會被臨時儲存在”堆?!碑?dāng)中,”堆?!币矔霈F(xiàn)緩沖區(qū)溢出。

2.危害

在當(dāng)前網(wǎng)絡(luò)與分布式系統(tǒng)安全中,被廣泛利用的50%以上都是緩沖區(qū)溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕蟲。而緩沖區(qū)溢出中,最為危險的是堆棧溢出,因為入侵者可以利用堆棧溢出,在函數(shù)返回時改變返回程序的地址,讓其跳轉(zhuǎn)到任意地址,帶來的危害一種是程序崩潰導(dǎo)致拒絕服務(wù),另外一種就是跳轉(zhuǎn)并且執(zhí)行一段惡意代碼,比如得到shell,然后為所欲為。

3.緩沖區(qū)攻擊

一.緩沖區(qū)溢出的原理

通過往程序的緩沖區(qū)寫超出其長度的內(nèi)容,造成緩沖區(qū)的溢出,從而破壞程序的堆棧,使程序轉(zhuǎn)而執(zhí)行其它指令,以達(dá)到攻擊的目的。造成緩沖區(qū)溢出的原因是程序中沒有仔細(xì)檢查用戶輸入的參數(shù)。例如下面程序:

voidfunction(char*str){

charbuffer;

strcpy(buffer,str);

}

上面的strcpy()將直接吧str中的內(nèi)容copy到buffer中。這樣只要str的長度大于16,就會造成buffer的溢出,使程序運(yùn)行出錯。存在象strcpy這樣的問題的標(biāo)準(zhǔn)函數(shù)還有strcat(),sprintf(),vsprintf(),gets(),scanf()等。

當(dāng)然,隨便往緩沖區(qū)中填東西造成它溢出一般只會出現(xiàn)“分段錯誤”(Segmentationfault),而不能達(dá)到攻擊的目的。最常見的手段是通過制造緩沖區(qū)溢出使程序運(yùn)行一個用戶shell,再通過shell執(zhí)行其它命令。如果該程序?qū)儆趓oot且有suid權(quán)限的話,攻擊者就獲得了一個有root權(quán)限的shell,可以對系統(tǒng)進(jìn)行任意操作了。

緩沖區(qū)溢出攻擊之所以成為一種常見安全攻擊手段其原因在于緩沖區(qū)溢出漏洞太普遍了,并且易于實現(xiàn)。而且,緩沖區(qū)溢出成為遠(yuǎn)程攻擊的主要手段其原因在于緩沖區(qū)溢出漏洞給予了攻擊者他所想要的一切:植入并且執(zhí)行攻擊代碼。被植入的攻擊代碼以一定的權(quán)限運(yùn)行有緩沖區(qū)溢出漏洞的程序,從而得到被攻擊主機(jī)的控制權(quán)。

在1998年Lincoln實驗室用來評估入侵檢測的的5種遠(yuǎn)程攻擊中,有2種是緩沖區(qū)溢出。而在1998年CERT的13份建議中,有9份是是與緩沖區(qū)溢出有關(guān)的,在1999年,至少有半數(shù)的建議是和緩沖區(qū)溢出有關(guān)的。在Bugtraq的調(diào)查中,有2/3的被調(diào)查者認(rèn)為緩沖區(qū)溢出漏洞是一個很嚴(yán)重的安全問題。

緩沖區(qū)溢出漏洞和攻擊有很多種形式,會在第二節(jié)對他們進(jìn)行描述和分類。相應(yīng)地防衛(wèi)手段也隨者攻擊方法的不同而不同,將在第四節(jié)描述,它的內(nèi)容包括針對每種攻擊類型的有效的防衛(wèi)手段。

二、緩沖區(qū)溢出的漏洞和攻擊

緩沖區(qū)溢出攻擊的目的在于擾亂具有某些特權(quán)運(yùn)行的程序的功能,這樣可以使得攻擊者取得程序的控制權(quán),如果該程序具有足夠的權(quán)限,那么整個主機(jī)就被控制了。一般而言,攻擊者攻擊root程序,然后執(zhí)行類似“exec(sh)”的執(zhí)行代碼來獲得root權(quán)限的shell。為了達(dá)到這個目的,攻擊者必須達(dá)到如下的兩個目標(biāo):

1.在程序的地址空間里安排適當(dāng)?shù)拇a。

2.通過適當(dāng)?shù)某跏蓟拇嫫骱蛢?nèi)存,讓程序跳轉(zhuǎn)到入侵者安排的地址空間執(zhí)行。

根據(jù)這兩個目標(biāo)來對緩沖區(qū)溢出攻擊進(jìn)行分類。在二.1節(jié),將描述攻擊代碼是如何放入被攻擊程序的地址空間的。在二.2節(jié),將介紹攻擊者如何使一個程序的緩沖區(qū)溢出,并且執(zhí)行轉(zhuǎn)移到攻擊代碼(這個就是“溢出”的由來)。在二.3節(jié),將綜合前兩節(jié)所討論的代碼安排和控制程序執(zhí)行流程的技術(shù)。

二.1在程序的地址空間里安排適當(dāng)?shù)拇a的方法

有兩種在被攻擊程序地址空間里安排攻擊代碼的方法:

1、植入法:

攻擊者向被攻擊的程序輸入一個字符串,程序會把這個字符串放到緩沖區(qū)里。這個字符串包含的資料是可以在這個被攻擊的硬件平臺上運(yùn)行的指令序列。在這里,攻擊者用被攻擊程序的緩沖區(qū)來存放攻擊代碼。緩沖區(qū)可以設(shè)在任何地方:堆棧(stack,自動變量)、堆(heap,動態(tài)分配的內(nèi)存區(qū))和靜態(tài)資料區(qū)。

2、利用已經(jīng)存在的代碼:

有時,攻擊者想要的代碼已經(jīng)在被攻擊的程序中了,攻擊者所要做的只是對代碼傳遞一些參數(shù)。比如,攻擊代碼要求執(zhí)行“exec(“/bin/sh”)”,而在libc庫中的代碼執(zhí)行“exec(arg)”,其中arg使一個指向一個字符串的指針參數(shù),那么攻擊者只要把傳入的參數(shù)指針改向指向”/bin/sh”。

二.2控制程序轉(zhuǎn)移到攻擊代碼的方法

所有的這些方法都是在尋求改變程序的執(zhí)行流程,使之跳轉(zhuǎn)到攻擊代碼。最基本的就是溢出一個沒有邊界檢查或者其它弱點的緩沖區(qū),這樣就擾亂了程序的正常的執(zhí)行順序。通過溢出一個緩沖區(qū),攻擊者可以用暴力的方法改寫相鄰的程序空間而直接跳過了系統(tǒng)的檢查。

分類的基準(zhǔn)是攻擊者所尋求的緩沖區(qū)溢出的程序空間類型。原則上是可以任意的空間。實際上,許多的緩沖區(qū)溢出是用暴力的方法來尋求改變程序指針的。這類程序的不同之處就是程序空間的突破和內(nèi)存空間的定位不同。主要有以下三種:1、活動紀(jì)錄(ActivationRecords):

每當(dāng)一個函數(shù)調(diào)用發(fā)生時,調(diào)用者會在堆棧中留下一個活動紀(jì)錄,它包含了函數(shù)結(jié)束時返回的地址。攻擊者通過溢出堆棧中的自動變量,使返回地址指向攻擊代碼。通過改變程序的返回地址,當(dāng)函數(shù)調(diào)用結(jié)束時,程序就跳轉(zhuǎn)到攻擊者設(shè)定的地址,而不是原先的地址。這類的緩沖區(qū)溢出被稱為堆棧溢出攻擊(StackSmashingAttack),是目前最常用的緩沖區(qū)溢出攻擊方式。

2、函數(shù)指針(FunctionPointers):

函數(shù)指針可以用來定位任何地址空間。例如:“void(*foo)()”聲明了一個返回值為void的函數(shù)指針變量foo。所以攻擊者只需在任何空間內(nèi)的函數(shù)指針附近找到一個能夠溢出的緩沖區(qū),然后溢出這個緩沖區(qū)來改變函數(shù)指針。在某一時刻,當(dāng)程序通過函數(shù)指針調(diào)用函數(shù)時,程序的流程就按攻擊者的意圖實現(xiàn)了。它的一個攻擊范例就是在Linux系統(tǒng)下的superprobe程序。

3、長跳轉(zhuǎn)緩沖區(qū)(Longjmpbuffers):

在C語言中包含了一個簡單的檢驗/恢復(fù)系統(tǒng),稱為setjmp/longjmp。意思是在檢驗點設(shè)定“setjmp(buffer)”,用“l(fā)ongjmp(buffer)”來恢復(fù)檢驗點。然而,如果攻擊者能夠進(jìn)入緩沖區(qū)的空間,那么“l(fā)ongjmp(buffer)”實際上是跳轉(zhuǎn)到攻擊者的代碼。象函數(shù)指針一樣,longjmp緩沖區(qū)能夠指向任何地方,所以攻擊者所要做的就是找到一個可供溢出的緩沖區(qū)。一個典型的例子就是Perl5.003的緩沖區(qū)溢出漏洞;攻擊者首先進(jìn)入用來恢復(fù)緩沖區(qū)溢出的的longjmp緩沖區(qū),然后誘導(dǎo)進(jìn)入恢復(fù)模式,這樣就使Perl的解釋器跳轉(zhuǎn)到攻擊代碼上了。

二.3代碼植入和流程控制技術(shù)的綜合分析

最簡單和常見的緩沖區(qū)溢出攻擊類型就是在一個字符串里綜合了代碼植入和活動紀(jì)錄技術(shù)。攻擊者定位一個可供溢出的自動變量,然后向程序傳遞一個很大的字符串,在引發(fā)緩沖區(qū)溢出,改變活動紀(jì)錄的同時植入了代碼。這個是由Levy指出的攻擊的模板。因為C在習(xí)慣上只為用戶和參數(shù)開辟很小的緩沖區(qū),因此這種漏洞攻擊的實例十分常見。

代碼植入和緩沖區(qū)溢出不一定要在在一次動作內(nèi)完成。攻擊者可以在一個緩沖區(qū)內(nèi)放置代碼,這是不能溢出的緩沖區(qū)。然后,攻擊者通過溢出另外一個緩沖區(qū)來轉(zhuǎn)移程序的指針。這種方法一般用來解決可供溢出的緩沖區(qū)不夠大(不能放下全部的代碼)的情況。

如果攻擊者試圖使用已經(jīng)常駐的代碼而不是從外部植入代碼,他們通常必須把代碼作為參數(shù)調(diào)用。舉例來說,在libc(幾乎所有的C程序都要它來連接)中的部分代碼段會執(zhí)行“exec(something)”,其中somthing就是參數(shù)。攻擊者然后使用緩沖區(qū)溢出改變程序的參數(shù),然后利用另一個緩沖區(qū)溢出使程序指針指向libc中的特定的代碼段。

三、緩沖區(qū)溢出攻擊的實驗分析

2023年1月,Cerberus安全小組發(fā)布了微軟的IIS4/5存在的一個緩沖區(qū)溢出漏洞。攻擊該漏洞,可以使Web服務(wù)器崩潰,甚至獲取超級權(quán)限執(zhí)行任意的代碼。目前,微軟的IIS4/5是一種主流的Web服務(wù)器程序;因而,該緩沖區(qū)溢出漏洞對于網(wǎng)站的安全構(gòu)成了極大的威脅;它的描述如下:

瀏覽器向IIS提出一個HTTP請求,在域名(或IP地址)后,加上一個文件名,該文件名以“.htr”做后綴。于是IIS認(rèn)為客戶端正在請求一個“.htr”文件,“.htr”擴(kuò)展文件被映像成ISAPI(InternetServiceAPI)應(yīng)用程序,IIS會復(fù)位向所有針對“.htr”資源的請求到I.DLL程序,I.DLL打開這個文件并執(zhí)行之。

瀏覽器提交的請求中包含的文件名存儲在局部變量緩沖區(qū)中,若它很長,超過600個字符時,會導(dǎo)致局部變量緩沖區(qū)溢出,覆蓋返回地址空間,使IIS崩潰。更進(jìn)一步,在如圖1所示的2K緩沖區(qū)中植入一段精心設(shè)計的代碼,可以使之以系統(tǒng)超級權(quán)限運(yùn)行。

四、緩沖區(qū)溢出攻擊的防范方法

緩沖區(qū)溢出攻擊占了遠(yuǎn)程網(wǎng)絡(luò)攻擊的絕大多數(shù),這種攻擊可以使得一個匿名的Internet用戶有機(jī)會獲得一臺主機(jī)的部分或全部的控制權(quán)。如果能有效地消除緩沖區(qū)溢出的漏洞,則很大一部分的安全威脅可以得到緩解。

目前有四種基本的方法保護(hù)緩沖區(qū)免受緩沖區(qū)溢出的攻擊和影響。在四.1中介紹了通過操作系統(tǒng)使得緩沖區(qū)不可執(zhí)行,從而阻止攻擊者植入攻擊代碼。在四.2中介紹了強(qiáng)制寫正確的代碼的方法。在四.3中介紹了利用編譯器的邊界檢查來實現(xiàn)緩沖區(qū)的保護(hù)。這個方法使得緩沖區(qū)溢出不可能出現(xiàn),從而完全消除了緩沖區(qū)溢出的威脅,但是相對而言代價比較大。在四.4中介紹一種間接的方法,這個方法在程序指針失效前進(jìn)行完整性檢查。雖然這種方法不能使得所有的緩沖區(qū)溢出失效,但它能阻止絕大多數(shù)的緩沖區(qū)溢出攻擊。然后在四.5,分析這種保護(hù)方法的兼容性和性能優(yōu)勢。

四.1非執(zhí)行的緩沖區(qū)

通過使被攻擊程序的數(shù)據(jù)段地址空間不可執(zhí)行,從而使得攻擊者不可能執(zhí)行被植入被攻擊程序輸入緩沖區(qū)的代碼,這種技術(shù)被稱為非執(zhí)行的緩沖區(qū)技術(shù)。在早期的Unix系統(tǒng)設(shè)計中,只允許程序代碼在代碼段中執(zhí)行。但是近來的Unix和MSWindows系統(tǒng)由于要實現(xiàn)更好的性能和功能,往往在數(shù)據(jù)段中動態(tài)地放入可執(zhí)行的代碼,這也是緩沖區(qū)溢出的根源。為了保持程序的兼容性,不可能使得所有程序的數(shù)據(jù)段不可執(zhí)行。

但是可以設(shè)定堆棧數(shù)據(jù)段不可執(zhí)行,這樣就可以保證程序的兼容性。Linux和Solaris都發(fā)布了有關(guān)這方面的內(nèi)核補(bǔ)丁。因為幾乎沒有任何合法的程序會在堆棧中存放代碼,這種做法幾乎不產(chǎn)生任何兼容性問題,除了在Linux中的兩個特例,這時可執(zhí)行的代碼必須被放入堆棧中:

(1)信號傳遞:

Linux通過向進(jìn)程堆棧釋放代碼然后引發(fā)中斷來執(zhí)行在堆棧中的代碼來實現(xiàn)向進(jìn)程發(fā)送Unix信號。非執(zhí)行緩沖區(qū)的補(bǔ)丁在發(fā)送信號的時候是允許緩沖區(qū)可執(zhí)行的。

(2)GCC的在線重用:

研究發(fā)現(xiàn)gcc在堆棧區(qū)里放置了可執(zhí)行的代碼作為在線重用之用。然而,關(guān)閉這個功能并不產(chǎn)生任何問題,只有部分功能似乎不能使用。

非執(zhí)行堆棧的保護(hù)可以有效地對付把代碼植入自動變量的緩沖區(qū)溢出攻擊,而對于其它形式的攻擊則沒有效果。通過引用一個駐留的程序的指針,就可以跳過這種保護(hù)措施。其它的攻擊可以采用把代碼植入堆或者靜態(tài)數(shù)據(jù)段中來跳過保護(hù)。

四.2編寫正確的代碼

編寫正確的代碼是一件非常有意義的工作,特別象編寫C語言那種風(fēng)格自由而容易出錯的程序,這種風(fēng)格是由于追求性能而忽視正確性的傳統(tǒng)引起的。盡管花了很長的時間使得人們知道了如何編寫安全的程序,具有安全漏洞的程序依舊出現(xiàn)。因此人們開發(fā)了一些工具和技術(shù)來幫助經(jīng)驗不足的程序員編寫安全正確的程序。

最簡單的方法就是用grep來搜索源代碼中容易產(chǎn)生漏洞的庫的調(diào)用,比如對strcpy和sprintf的調(diào)用,這兩個函數(shù)都沒有檢查輸入?yún)?shù)的長度。事實上,各個版本C的標(biāo)準(zhǔn)庫均有這樣的問題存在。

此外,人們還開發(fā)了一些高級的查錯工具,如faultinjection等。這些工具的目的在于通過人為隨機(jī)地產(chǎn)生一些緩沖區(qū)溢出來尋找代碼的安全漏洞。還有一些靜態(tài)分析工具用于偵測緩沖區(qū)溢出的存在。

數(shù)據(jù)庫字符串緩沖區(qū)太小的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫字符串緩沖區(qū)太小,如何解決數(shù)據(jù)庫字符串緩沖區(qū)太小問題?,錯誤691?,緩沖區(qū)溢出攻擊的基本原理是什么?的信息別忘了在本站進(jìn)行查找喔。

成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


網(wǎng)站名稱:如何解決數(shù)據(jù)庫字符串緩沖區(qū)太小問題?(數(shù)據(jù)庫字符串緩沖區(qū)太小)
標(biāo)題來源:http://www.dlmjj.cn/article/djcechs.html