<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    SQL Bad Practices: Underspecified Identifier

                    ABSTRACT

                    不應在調用程序的權限程序包中使用沒有架構的標識符。

                    EXPLANATION

                    在調用程序的權限或 AUTHID CURRENT_USER 程序包中,標識符是根據當前用戶的架構首先解析的。如果該代碼的定義程序未明確表明標識符所屬的架構,這可能會導致意外的行為。

                    例:下列代碼通過在權限表中查找用戶來檢查該用戶是否具有執行相應操作的權限。大多數用戶僅具有 SYS.PERMISSIONS 的讀取權限,且無法修改已定義的權限。


                    CREATE or REPLACE FUNCTION check_permissions(
                    p_name IN VARCHAR2, p_action IN VARCHAR2)
                    RETURN BOOLEAN
                    AUTHID CURRENT_USER
                    IS
                    r_count NUMBER;
                    perm BOOLEAN := FALSE;
                    BEGIN
                    SELECT count(*) INTO r_count FROM PERMISSIONS
                    WHERE name = p_name AND action = p_action;
                    IF r_count > 0 THEN
                    perm := TRUE;
                    END IF;
                    RETURN perm;
                    END check_permissions


                    如果調用 check_permissions 函數的用戶在其架構中定義了一個 PERMISSIONS 表,則該數據庫會解析該標識符以引用本地表。該用戶將具有對新表的寫入權限,并可以對其進行修改以獲得在其他情況下不可能擁有的權限。

                    REFERENCES

                    [1] Oracle Oracle Database PL/SQL Language Reference


                    Copyright 2013 Fortify Software - All rights reserved.
                    (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
                    desc.structural.sql.sql_bad_practices_underspecified_identifier

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频